
WordPressのループ外で投稿者の表示名を出力する方法
WordPressのループ内で投稿者の表示名を表示するのならget_the_authorやthe_authorで取得できますが、ループ外の場合はひと工夫必要です。
PHP
<?php
$author = get_userdata($post->post_author);
echo $author->display_name;
?>
まずpost_authorで現在の投稿の投稿者(作成者)IDを取得し、get_userdataでその投稿者の情報を取得して$authorへ代入。
そして代入した投稿者情報の中からdisplay_nameを取り出して表示するという流れです。
なおdisplay_nameはWordPressダッシュボードの「ユーザー」にある「ブログ上の表示名」に設定してあるものを取得します。
「ループ外で」と書いていますが、別にループ内でも使えます。しかしループ内では上でも言ったようにget_the_authorやthe_authorが使えるため、あまり必要はないかと思います。
$post->で現在の投稿の情報を取り出す
投稿者情報やカテゴリーなど、投稿にまつわる情報を取得するのには、一通りテンプレートタグがそろっているのでそれらを使えば大丈夫です。
しかし、ループ外だとそれらでは思うように取得できないことがあります。
そんなときには、「$post->~」というような形で、現在の投稿の情報を取得していけば大概のものはいけます。
「$post->~」で取得できるものは以下の通りです。
現実的にはあまりやることはないかもしれませんが、これを使えばループ外に投稿のタイトルや本文を表示することもできます。
記事が役に立ったと思ったら、応援していただけると嬉しいです!