• 解決済 acousticradio

    (@acousticradio)


    コメントの表示についての質問です。
    現在、投稿へのコメントは、登録ユーザーのみがログインした際にできるような設定にしております。
    当然のことながら、コメント投稿者名には、ユーザー登録時のユーザ名が自動的に入りますが、これに登録ユーザーそれぞれのプロフィールページ(author.php)へ飛ぶリンクをつけるにはどうしたらよいでしょうか?

    もしおわかりの方がいらっしゃれば、ご教示いただければ幸いです。
    宜しくお願い致します。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 「コメント投稿者名がユーザー登録時のユーザ名と同じ」場合にプロフィールページへのリンクへ変換するのであれば、functions.phpに以下を追加すればいいと思います。

    add_filter('get_comment_author_url','add_comment_author_url');
    function add_comment_author_url($url){
    	if($url == ''){
    		$author = get_comment_author();
    		$url = username_exists($author) == NULL ? '' : get_home_url() .'/author/'. $author;
    	}
    	return esc_url($url);
    }

    トピック投稿者 acousticradio

    (@acousticradio)

    kurosquareさん、ご回答ありがとうございました。
    フックは使ったことがなかったので、大変勉強になりました。

    ただ、そのままだとコメント欄自体が表示されなかったので、コードの一部を下記の通り修正することで、思ったとおりの表示ができました。

    //$url = username_exists($author) == NULL ? '' : get_home_url() .'/author/'. $author;
    $url = get_home_url() .'/author/'. $author;

    username_existsが入ると駄目みたいです。
    今回はユーザー登録した人しかコメントできない設定ですので、ユーザー登録の判定はなくてもよいかなということで・・・。

    username_existsが入ると駄目みたいです。

    すみません。関数が定義されていないので使えないですね。使うには以下を追加すればいいかもです。
    require_once ( ABSPATH . WPINC . '/registration.php' );

    c.f. username exists – WordPress Codex

    トピック投稿者 acousticradio

    (@acousticradio)

    早速のリターン、ありがとうございます。
    ご指摘のコードを追加して、問題なく表示させる事ができました。
    なるほど、なかなか奥が深いですね。
    この度は大変助かりました。本当にありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「コメントの投稿者名にリンクを設定したい」には新たに返信することはできません。