WordPressの投稿・ループ内で投稿の作成者・投稿者を取得するget_the_author()を極めてみようかと思います。
目次
「get_the_author()」は投稿およびループ内で投稿の作成者・投稿者を取得するためのテンプレートタグで、出力・表示させる場合には「echo」を併用する必要がある。作成者・投稿者を変数などに渡したり条件として扱いたい場合に使用する。出力・表示だけさせたい場合は「the_author()」のテンプレートタグを使用すれば良い。
また、「作成者・投稿者」は「プロフィール」で設定する「ユーザー名」ではなく「ブログ上の表示名」が表示される。
「get_the_author()」にはパラメータがない。
「get_the_author()」はループ内で使用可能となっており、通常の投稿やアーカイブページで表示させる投稿一覧内などで使用できる。
「get_the_author()」にはパラメータがないので、単体で使用する。変数などに渡したり条件として扱いたい場合に使用する。また前述したが出力・表示させる機能を有していないので、作成者・投稿者を出力・表示させたい場合は「echo」を併用する。
パラメータはないので「作成者・投稿者」を出力・表示させたい場合は下記のように書けば良い。
投稿者:<?php echo get_the_author(); ?>
投稿者:山田太郎
次に条件分岐させてみよう。下記のコードはループ内で動作させている。
<?php
$post_user = get_the_author();
if ( $post_user == '山田太郎' ){
echo '<span>ここに作成者・投稿者が「山田太郎」である時に動作させたいコードを挿入する</span>';
}else{
echo '<span>ここに作成者・投稿者が「山田太郎」以外である時に動作させたいコードを挿入する</span>';
};
?>
作成者・投稿者が「山田太郎」の投稿の場合、下記のテキストが表示される。
<span>ここに作成者・投稿者が「山田太郎」である時に動作させたいコードを挿入する</span>
作成者・投稿者が「山田太郎」でない投稿の場合、下記のテキストが表示される。
<span>ここに作成者・投稿者が「山田太郎」以外である時に動作させたいコードを挿入する</span>
次に特定の作成者・投稿者の場合にスタイルを変更してみよう。表示名がアルファベットでない場合にクラスが正しく動作しないので条件で一度、表示名をアルファベットに変換し、クラスに挿入している。このようにすれば、アーカイブなどのループ内で特定の作成者・投稿者の場合にスタイルを変更することができるようになる。
<?php
$post_user = get_the_author();
if ( $post_user == '山田太郎' ){
$post_user_class = 'yamada';
};
?>
<div class="<?php echo $post_user_class; ?>">
<!-- コンテンツ -->
</div>
作成者名に該当する作成者の投稿一覧のアーカイブページをリンクさせる場合
「get_the_author()」のテンプレートタグは作成者・投稿者を取得させるだけで、もし作成者名に該当する作成者・投稿者の投稿一覧のアーカイブページをリンクさせる場合は、「the_author_posts_link()」のテンプレートタグを利用すると良い。
まとめ
これで「get_the_author()」のテンプレートタグについてお極めいただけたのではないでしょうか。投稿・ループ内で作成者・投稿者を取得したい場合には「get_the_author()」を使用し、作成者・投稿者を変数に入れ、それを条件などにし何か動作させれば良い。もし出力・表示せたい場合には、「the_author()」を使用、また作成者名に該当する作成者・投稿者の投稿一覧のアーカイブページをリンクさせる場合は「the_author_posts_link()」を使用するということを覚えておこう。