【WP】author.phpを使用したページでユーザー名が表示されない?

wordpress-author-info-displayワードプレスでは、テーマに[author.php]を用いると、ユーザーアカウント事の記事の一覧ページを作成することができます。[author.php]は、アーカイブページの分類に入りますので、[author.php]が無い場合は[archive.php]が反映されます。

ユーザー名を表示するときは、テンプレートタグの[the_author()]や[get_the_author()]を用いて取得・表示することができますが、[author.php]で使用すると、ユーザー名が表示されないということがありませんか?

[the_author()]や[get_the_author()]はループ内でのみ使用できるため、[author.php]のループ外に記述した場合は、ユーザー名が表示されません。

[author.php]

the_author(); /* ループ外では何も表示されません */

while ( have_posts() ) :

  the_post();
  the_author(); /* ループ内では各記事の作成者としてユーザ名が表示されます */

endwhile;

[author.php]のループ外でユーザー名を表示したい場合は、テンプレートタグの[the_author_meta()]を使用することで取得・表示することができます。

[the_author_meta(‘フィールド名’,ユーザーID)]というように、フィールド名とユーザーIDを指定することで特定のユーザー情報を参照することが可能になります。

[author.php]では、[$author]にユーザーIDが格納されているので、以下のようにしてユーザー情報を取得することができます。

[author.php]

/* ユーザーの表示名を表示 */
the_author_meta( 'display_name', $author);

表示をせずに、変数に取得した情報を格納する場合は、、テンプレートタグの[get_the_author_meta()]を使用します。

[author.php]

/* ユーザーの表示名を取得 */
$user_name   = get_the_author_meta( 'display_name', $author );

関連記事

【お名前.com】ドメインの申請が完了できなくなってしまった-解決方法-

WEBサイト(ホームページ)を新しく公開するときは、URLとなるドメインが必要になります。ドメインを取得するために、「お名前.com」のサービスを利用することが多いのですが、申込中にエラーが発生しました。 「お名前.com」で新しいドメインを申込した際に、『カートの内容が変...続きを読む

2018.07.23WEBサイト制作お名前.comドメイン

美容室グランディール様紹介カード制作

富士宮市にある『美容室グランディール』様の紹介カードを制作いたしました。お店を紹介するショップカードとしての機能と、お客様が親族・ご友人の方などに紹介いただける紹介カードの2つの機能があるカードです。光沢をつけて高級感のあるデザインにいたしました。 クライア...続きを読む

2015.02.18名刺・カード制作美容室

【フォント】サインに最適なフリーのシンボンルフォント

WEBサイトや印刷物のデザインにおいて、メニューやボタン、マップ上のシンボルなどに利用者にわかりやすく内容を伝えるためアイコンを用いることがあります。 ビジュアルで内容を伝えることができるシンボルタイプのフリーフォントをまとめてみました。 Heydings Com...続きを読む

2015.02.14フォント

【HTML】Bootstrap4を使いレスポンシブサイトをコーディングする《導入編》

Twitterのデザイナーや開発者が作成した『Bootstrap』は、フロントエンドのフレームワークとオープンソースプロジェクトです。『Bootstrap』は、CSS、JS、およびフォントが基本セットになっています。HTMLのテンプレートソースを組み合わせて、レスポンシブ対応...続きを読む

2018.09.22BootstrapHTMLコーディング

【CSS】CSS3による枠線の新しい表現方法

CSS3より定義された「Border Radius」「Border Image」を使うことで角丸のボックスや、罫線の装飾によってこれまで画像で作成していた要素をCSSのみでデザインすることができるようになりました。 角丸(border-radius) 「b...続きを読む

2015.02.08HTMLコーディング