【WordPressでコメントした方のリンク先をクリックしたら、別ウィンドウで開いてほしい。なので、やりました】

ちょっと説明がヘタで申し訳ないのですが、下の画像を見ると、コメントしてくれた方の名前と、名前に「リンク」が張られています。これは「get_comment_author_link」のテンプレートタグを使って表示させています。

コメントした方にリンクが張られています

今回はこの「リンク」についての話題です。

前回書きましたが、この「リンク」はJetpackプラグインのコメントシステムを使って、twitter,facebook,google+などのアカウント情報を元に設定されたりします。私のブログではそうしています。ここで、例えば

「あ、このコメントしてくれた人ってどんな方だろう。プロフィールとか見たいな~。」

と思ってリンク先をクリックすると、今開いているページが切り替わります。

細かいことですが、このリンクは「target=”_blank”」とかターゲット属性を付与できれば、別ウィンドウで開くことができるし、都合がいいのにな~・・・なんて思っていたんですが、方法がありましたので、ご紹介します~。

functions.phpにコードを追記します

以下のコードをテーマフォルダ内にある「functions.php」ファイルの最後尾などに追記します。

<?php
add_filter( "get_comment_author_link", "modifiy_comment_author_link" );
function modifiy_comment_author_link( $author_link ){
 return str_replace( "<a", "<a target=\"_blank\"", $author_link );
}
?>

やっていること

先ほども書きましたが「get_comment_author_link」が、コメントしてくれた方の名前とリンク先を出力するテンプレートタグですね。それで、「str_replace」関数を使って、ターゲット属性を付与して出力させるように置き換えます。そして、「フィルターフック:add_filter」を使って反映という感じです。

参考リンク

いろいろ情報をさがしましたが、下記リンク先を参考にしました。とても勉強になりました・・・!ありがとうございます。

where to modify get_comment_author_link()?

このページのコメント欄でサンプルを確認できます

このページの下部に、コメント欄があります。サンプルでコメントをいくつか入力しました。

こんな感じで、サンプルコメントを入れておきました

上の画像は、twitter,facebook,google+と、3つのアカウントを使ってログインしてコメントしたものです。それぞれ、コメント者名にリンクが張られていますので、それぞれをクリックすると別ウィンドウで開きます。もしよろしければ、ご参考ください。

著者:bouya Imamura