ユーザーの情報を出力する関数(テンプレートタグ)も、WordPressにはいくつか用意されています。
目次
ユーザーの名前を出力
WordPressループで投稿の情報を出力する場合、その投稿を書いたユーザーの名前を出力するには、the_author
という関数(テンプレートタグ)を使用します。
<?php the_author(); ?>
この関数にはパラメータと戻り値はなく、実行するだけです。
ユーザーのプロフィール文章を出力
ユーザーのプロフィール文章を出力する関数です。
<?php the_author_meta('user_description'); ?>
ユーザーのプロフィール画像を出力
ユーザーのプロフィール画像を出力する時に使用する関数です。
<?php echo get_avatar( get_the_author_id(), 300 ); ?
ユーザー名の値を取得
ユーザー名をそのまま出力せずに、変数に代入して出力する場合は get_the_author
という関数を使います。
get_the_author
は、単体で使用して変数などに渡したり、条件として扱いたい場合に使用して、ユーザー名を出力・表示させたい場合は echo
を併用します。
<?php echo get_the_author(); ?>
ユーザー名を取得して条件分岐と出力
ユーザー名で条件分岐をして出力させる場合は、WordPressループ内で以下のように記述します。
<?php
$post_user = get_the_author();
if ( $post_user == 'ユーザー1' ){
echo '<span>ここにユーザー名が「ユーザー1」の場合動作させたいコードを挿入</span>';
}else{
echo '<span>ここにユーザー名が「ユーザー1」以外の場合動作させたいコードを挿入</span>';
};
?>
ユーザーのアーカイブページへのリンクを出力
WordPressループで投稿を書いたユーザーを出力する際、そのユーザーのアーカイブページへのリンクを出力する場合、the_author_posts_link
という関数を使います。
<?php the_author_posts_link(); ?>
ユーザーのサイトへのリンクを出力
複数のユーザーでWordPressに記事を投稿している場合、ユーザーの管理画面の[サイト]の欄で、自身のウェブサイトのアドレスを設定することができます。
このアドレスを、WordPressループ内で the_author_link
という関数を使うと、投稿ごとにそのユーザーのサイトへのリンクを出力することができます。
<?php the_author_link(); ?>
ユーザーの各種情報を任意で出力
WordPressでは、ユーザーのプロフィールとして多くの情報を登録することができ、the_author_meta
の関数を使うと、必要に応じてこれらの情報を出力できます。
<?php the_author_meta( $field, $userID ); ?>
パラメータの$field
の値は こちらのように多く、このタグをWordPressループの中で使った場合、ユーザー ID を指定する必要はなく、表示されるデータは現在の投稿の作成者のものになります。
WordPressループの外で使う場合、ユーザー ID を指定する必要があります。
ユーザーの一覧を表示
wp list authors
という関数を使うことで、サイトの投稿者ユーザーの一覧を表示します。
ユーザーが投稿を済ませていれば、投稿一覧ページへのリンクが表示されます。
<?php wp_list_authors(); ?>
出力するタグを任意でユーザーの一覧を表示
wp list authors
でもユーザーの一覧を出力することは可能ですが、画像や任意の内容を好きなタグで出力したい場合には、以下の記述をすることで、任意のユーザーの一覧を表示することが可能です。
<?php $users = get_users( array('orderby'=>ID,'order'=>ASC) ); ?>
<div class="authors">
<?php foreach($users as $user) {
$uid = $user->ID; ?>
<div class="author-profile">
<span class="author-thumbanil"><?php echo get_avatar( $uid ,300 ); ?></span>
<span class="author-name"><?php echo $user->display_name ; ?></span>
<span class="author-description"><?php echo $user->user_description ; ?></span>
<span class="author-link"><a href="<?php echo get_bloginfo("url") . '/?author=' . $uid ?>"><?php echo $user->display_name ; ?>の記事一覧</a></span>
</div>
<?php } ?>
</div>