サポート » 使い方全般 » 投稿者毎に異なるコンテンツを表示したい。

  • Sghr

    (@sugakai)


    投稿ページ(single.php)にて
    記事を担当した者によって別々のコンテンツ(ユーザー紹介や広告表示など)をサイドバーに表示させたいと思っています。

    PHPには全く知識がないのですが、ifなどを使用して表示できないでしょうか。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • nobita

    (@nobita)

    こんにちは

    https://codex.wordpress.org/Function_Reference/get_the_author

    get_the_author() とか、 get_the_author_id() で投稿者を取得できるので
    あとは、if文で条件分岐できると思います。(未テスト)

    トピック投稿者 Sghr

    (@sugakai)

    取得した後はどのように条件指定をすれば良いのでしょうか。

    知識が浅いためすみません(^_^;)

    取得した後はどのように条件指定をすれば良いのでしょうか。

    さすがにそれはどういう条件で表示を変えるか教えていただかないと無理なのでは…?

    トピック投稿者 Sghr

    (@sugakai)

    例えば、
    Aユーザー(ID=userA)の投稿ページには「よろしくお願いします」
    Bユーザー(ID=userB)の投稿ページには「こんにちは」
    Cユーザー(ID=userC)の投稿ページには「ありがとうございました」

    と表示を切り替えるにはどのようにすれば良いのでしょうか。

    천궁 메텔

    (@digitmaetel)

    記事を担当した者によってユーザー紹介や、あいさつをサイドバーに表示させる。
    Jetpack の Gravatar ミニプロフィールを表示するウィジェットの活用のヒントになりました。ありがとうございます。
    以下のようにサイドバー最上部に振り分けた表示を試みました。
    Aユーザー http://wp.me/p6z6Fn-Jy
    Bユーザー http://wp.me/p6z6Fn-1gF
    Cユーザーは、表示なし。

    nobita さんの

    get_the_author() とか、 get_the_author_id() で投稿者を取得できるので

    という提案通り、
    SUGAKAI さんの

    ifなどを使用して表示できないでしょうか。

    で大丈夫ですよ。

    例えば、
    Aユーザー(ID=userA)の投稿ページには「よろしくお願いします」
    Bユーザー(ID=userB)の投稿ページには「こんにちは」
    Cユーザー(ID=userC)の投稿ページには「ありがとうございました」

    と表示を切り替えるにはどのようにすれば良いのでしょうか。

    <?php
    /**
     * sidebar.php
     */
    if ( is_single() ) {
    	$user_id    = get_the_author_meta( 'ID' );
    	$user_data  = get_userdata( $user_id );
    	$user_login = $user_data->user_login;
    	if ( $user_login === 'userA' ) {
    		echo 'よろしくお願いします';
    	} else if ( $user_login === 'userB' ) {
    		echo 'こんにちは';
    	} else if ( $user_login === 'userC' ) {
    		echo 'ありがとうございました';
    	}
    }

    get_the_author_id() 関数は非推奨になっているようなので get_the_author_meta( 'ID' ) を使いました。

    nobita

    (@nobita)

    get_the_author_id() 関数は非推奨

    教えていただき ありがとうございます :)

    gblsm

    (@gblsm)

    $user_id    = get_the_author_meta( 'ID' );
    $user_data  = get_userdata( $user_id );
    $user_login = $user_data->user_login;

    の3行は

    $user_login = get_the_author_meta( 'user_login' );

    の1行でも大丈夫ですね。

    ですね ^^;
    @gblsm さん、ありがとうございます!

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「投稿者毎に異なるコンテンツを表示したい。」には新たに返信することはできません。