WordPressのループ外で投稿者の表示名を出力する方法

2017.12.01 WordPress
WordPressのループ外で投稿者の表示名を出力する方法

WordPressのループ外で投稿者の表示名を出力する方法

WordPressのループ内で投稿者の表示名を表示するのならget_the_authorやthe_authorで簡単に取得できますが、ループ外の場合はひと工夫必要です。

<?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->~」で取得できるものは以下の通りです。現実的にはあまりやることはないかもしれませんが、これを使えばループ外に投稿のタイトルや本文を表示することもできます。

$post = array(
'ID'             => [ <投稿 ID> ] // 既存の投稿を更新する場合に指定。
'post_content'   => [ <文字列> ] // 投稿の全文。
'post_name'      => [ <文字列> ] // 投稿のスラッグ。
'post_title'     => [ <文字列> ] // 投稿のタイトル。
'post_status'    => [ 'draft' | 'publish' | 'pending'| 'future' | 'private' | 登録済みカスタムステータス ] // 公開ステータス。デフォルトは 'draft'。
'post_type'      => [ 'post' | 'page' | 'link' | 'nav_menu_item' | カスタム投稿タイプ ] // 投稿タイプ。デフォルトは 'post'。
'post_author'    => [ <ユーザー ID> ] // 作成者のユーザー ID。デフォルトはログイン中のユーザーの ID。
'ping_status'    => [ 'closed' | 'open' ] // 'open' ならピンバック・トラックバックを許可。デフォルトはオプション 'default_ping_status' の値。
'post_parent'    => [ <投稿 ID> ] // 親投稿の ID。デフォルトは 0。
'menu_order'     => [ <順序値> ] // 固定ページを追加する場合、メニュー内の並び順を指定。デフォルトは 0。
'to_ping'        => // スペースまたは改行で区切った、ピンを打つ予定の URL のリスト。デフォルトは空文字列。
'pinged'         => // スペースまたは改行で区切った、ピンを打った URL のリスト。デフォルトは空文字列。
'post_password'  => [ <文字列> ] // 投稿パスワード。デフォルトは空文字列。
'guid'           => // 普通はこれを指定せず WordPress に任せてください。
'post_content_filtered' => // 普通はこれを指定せず WordPress に任せてください。
'post_excerpt'   => [ <文字列> ] // 投稿の抜粋。
'post_date'      => [ Y-m-d H:i:s ] // 投稿の作成日時。
'post_date_gmt'  => [ Y-m-d H:i:s ] // 投稿の作成日時(GMT)。
'comment_status' => [ 'closed' | 'open' ] // 'open' ならコメントを許可。デフォルトはオプション 'default_comment_status' の値、または 'closed'。
'post_category'  => [ array(<カテゴリー ID>, ...) ] // 投稿カテゴリー。デフォルトは空(カテゴリーなし)。
'tags_input'     => [ '<tag>, <tag>, ...' | array ] // 投稿タグ。デフォルトは空(タグなし)。
'tax_input'      => [ array( <タクソノミー> => <array | string>, ...) ] // カスタムタクソノミーとターム。デフォルトは空。
'page_template'  => [ <文字列> ] // テンプレートファイルの名前、例えば template.php 等。デフォルトは空。
);

参考ページ:関数リファレンス/wp insert post

WordPressテーマ『HIGHLAND』公開しました

WordPressテーマ『HIGHLAND』を公開しました

このブログで紹介しているカスタマイズを、これでもかと盛り込んだ高性能なテーマになっております。商用・非商用問わず無料、是非ご利用ください。

ブログ集客メール講座登録フォーム

「売上が不安定で、月末になるといつも不安……」
「営業が苦手で新規開拓がうまくいかない……」
「Webが苦手でブログをうまく活用できない……」

個人起業家・フリーランスのあなた、こんなお悩みはありませんか?

実は僕も、独立して最初に直面したのが「集客」の壁でした。

しかし今は、1年の大半をベトナムで過ごしながら、フリーランスのWebディベロッパーとして生計を立てています。

僕がなぜ、時間・場所・人間関係に縛られずに暮らせるようになったのか?

その答えは「ブログ」にあります。

今なら、「初心者の人が成果を上げるため」のブログ集客ノウハウを、メール講座限定でお伝えします。

興味のある人は、今すぐ以下から登録【無料】を!

ブログ初心者が生き残るためのブログ集客メール講座

柴田竹思

柴田竹思

日本&ベトナム二拠点生活中のWeb系フリーランス。最近は育児6:仕事4のバランスで生活してます。これでもかってくらい奥さんの尻に敷かれてる座布団系男子です。

プロフィールはこちら