WordPress のエントリー投稿者毎に avatar 画像を変えて表示する方法

WordPress を使って複数人でブログを運営する場合、「この記事は●●が書きました」みたいな表示をしたくなるかと思います。

まぁデフォルトで個別記事の下の方に投稿者表示はあるんですけどね。

カテゴリー:xxxx | タグ: xxxx | 投稿日: yyyy/mm/dd |

ってのがあると思いますが、この並びに投稿者が表示されているはず。(私はなぜか表示されていませんでしたが

でもそうじゃなくてもうちょっとカスタマイズとかしたいの。それぞれ投稿者にアイコンを設定して、出し分けたりしたいの。って方向けに共有。

ということで、プラグインとかありそうですが、セキュリティとか怖いのでテンプレートをカスタマイズする方向で。

アイコンを作って、content.php を編集

ユーザーにはそれぞれ ID が振られていて、ワードプレスではその ID を取得することが可能なので画像名に ID を付与しておけば、投稿者別の画像を表示できるっっ!!

ということで、例えば

avatar_1.jpg
avatar_2.jpg
avatar_3.jpg

とかにして、画像を任意の場所にアップロードしておく。管理画面からアップロードすると、(私の場合は)月別のフォルダにアップロードされちゃったりするので、FTP なり SSH などでいい感じに。

そんな感じで、個別記事で画像を読み込むように content.php に以下記述すれば投稿者毎の画像が表示されるようになります。

<img src="https://yuichon.com/wordpress/wp-content/uploads/avatar/avatar_<?php the_author_meta( 'ID' ); ?>.jpg" alt="" width="56px" />

画像のパスとかサイズとかはご自由に。

ついでに、投稿日時とかプロフィールとかも表示しちゃう

画像だけ表示してても唐突すぎるので、なんかちょっと手を加えました。

  • 投稿者ニックネームの表示
  • 投稿日の表示
  • 投稿者プロフィールの表示

が出来るように

<?php the_author_meta( 'nickname' ); ?> has posted on <?php the_date(); ?>
<?php the_author_meta( 'user_description' ); ?>

というテンプレートタグをよしなにマークアップして、content.php を編集して、以下のようにしました。

WordPress 投稿者の表示

参考リンク

※ WordPress 3.5.1 Twenty Twelve

2コメント
  1. 匿名

    wordpressを現在、1から自作しています。

    一応、コードはこういう感じを考えています。
    <img src="/images/author-”

    >>ユーザーにはそれぞれ ID が振られていて、ワードプレスではその ID を取得することが可能なので画像名に ID を付与しておけば、投稿者別の画像を表示できるっっ!!

    この部分をノンプログラにも分かるように、もう少し詳しく説明していただけないでしょうか?

    1. ゆいちょん

      こんばんは。

      僕の場合はこんなかんじで書いてます。
      ===
      <img src="http://www.yuichon.com/wordpress/wp-content/uploads/avatar/avatar_.jpg" alt="" width="56px" />
      ===
      ※タグの最初と最後が全角なのは、ここで表示するためですので、実際は半角にしてください。

      この部分が投稿者のIDを引っ張ってきてくれるので、画像のファイル名の数字部分が変わるようにしておけばいいってことですね。
      ===

      ===

      ちなみに、現在は上記 HTML を content-single.php に書いてます。

      頑張ってください!

コメントを残す

  • コメント欄には個人情報を入力しないようにしてください。

  • 入力いただいたメールアドレスは公開されませんがサーバーに保存されます。
  • 入力いただいた情報の他に、IPアドレスを取得させていただきます。取得した IPアドレス はスパム・荒らしコメント対処ために利用され、公開することはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください