[wp]single.phpに投稿者情報を表示する

あまりやりたくないけど。

何がしたいか

投稿記事の最後に著者のエリアを作って、ユーザー情報を表示したい。

ユーザー情報は標準のもの以外に追加で作った項目も載せる。

を、やる。

組み方

作例を見たほうが早い。

<?php
    $authorUserLogin = get_the_author_meta( 'user_login', $author );
    $authorDisplayName = get_the_author_meta( 'display_name', $author );
    $authorDescription = get_the_author_meta( 'description', $author );
    $authorProfileUrl = get_the_author_meta( 'profileUrl', $author );
    $authorAvatar = get_avatar( $post->post_author, 240 );
    if($authorProfileUrl){
        $authorName = '<a href="'.$authorProfileUrl.'">';
        $authorName .= $authorDisplayName;
        $authorName .= '</a>';
    }else{
        $authorName = $authorDisplayName;
    }
    $authorArchiveUrl = '/author/'.$authorUserLogin.'/?post_type=【カスタム投稿名】';
?>
<div class="author">
    <div class="img"><?php echo $authorAvatar; ?></div>
    <div class="txt">
        <p class="name"><?php echo $authorName; ?></p>
        <p><?php echo nl2br($authorDescription); ?></p>
    </div>
    <div class="more"><a href="<?php echo $authorArchiveUrl; ?>">投稿者の記事一覧</a></div>
</div>

カスタマイズは2点、「profileUrl」って項目をfunctions.phpから追加したのと「WP User Avatars」で画像を設定した。

「profileUrl」があれば投稿者名にリンクをくっつけてある。画像は登録がなければ非表示って仕込んだんだけど、登録がなければシルエットアイコンが表示されるらしい。

注意点は、説明文(description)を出力するならnl2brで改行させないとベタ打ちになってしまうこと。

「投稿者の記事一覧」のURLはauthor.phpに飛ばしたいわけじゃないので自作した。普通だったら以下のタグになる。

<?php the_author_posts_link(); ?>

ちょっと説明すると、このタグを使うとdisplay_nameにauthor.phpへのリンクが付いたものが出力される。リンクURLだけ欲しい場合とかは色々やっていくことになる。本旨から逸れるので割愛。

今回の記事一覧URLは特定のカスタム投稿上で投稿者を絞り込むためのもの。詳細は別記事。

これに手をいれるなら

上記内容を書き込むと強制的に投稿者情報が表示されてしまう。初めから投稿者を割り振って投稿してるなら良いけどそうじゃない場合もあるんで、表示するかどうかをカスタムフィールドで操作するとか、特定のユーザーは弾いておくとか、そういう事をした方がいい。

参考

【WordPress】Gravatarを使わずにプロフィール画像を登録する方法[WP User Avatars]の使い方
ワードプレスのユーザー登録時のアバター画像。デフォルトでは[Gravatar]を経由しないと登録できません。Gravatarは「Globally Recognized Avatar(グローバリー・レコグナイズド・アバター...
WordPressのユーザーページ(author.php)テンプレートをカスタマイズする
Wordpressを複数人で管理する場合ユーザーページ(authorテンプレート)を利用すれば、ユーザーごとの自己紹介ページを簡単に作成できます。 この記事では管理画面の「ユーザー編集」で入力した情
投稿者アーカイブ(author.php)のプロフィールのカスタマイズ【WordPress】
先日、とあるホームページの制作案件で「投稿者アーカイブ(author.php)」のテンプレートを編集する機会がありました。 ここに、基本的な設定に関するメモを残しておきたいと思います。 この記事の目次 投稿者アーカイブとは? 投
【WordPress】ユーザー情報のプロフィール項目を追加/出力する方法 – otamunote
WordPressは、管理画面からユーザーのプロフィールを編集することが出来ます。 ただ標準で設定されている項目は限られていて、あまり多くの情報を入力することはできません。 今回は任意の項目を追加し、サイト上に出力させる方法の備忘録です。…

反省点

URLの枠は元々あったからわざわざ作ってどうのこうのするのは参考として不適切だった。

コメント

タイトルとURLをコピーしました