ユーザー情報の出力

投稿者出力のイラスト

ユーザーの情報を出力する関数(テンプレートタグ)も、WordPressにはいくつか用意されています。

ユーザーの名前を出力

WordPressループで投稿の情報を出力する場合、その投稿を書いたユーザーの名前を出力するには、the_author という関数(テンプレートタグ)を使用します。

PHP

<?php the_author(); ?>

この関数にはパラメータと戻り値はなく、実行するだけです。

ユーザー名の値を取得

ユーザー名をそのまま出力せずに、変数に代入して出力する場合は get_the_author という関数を使います。

get_the_author は、単体で使用して変数などに渡したり、条件として扱いたい場合に使用して、ユーザー名を出力・表示させたい場合は echo を併用します。

PHP

<?php echo get_the_author(); ?>

ユーザー名を取得して条件分岐と出力

ユーザー名で条件分岐をして出力させる場合は、WordPressループ内で以下のように記述します。

PHP

<?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

<?php the_author_posts_link(); ?>

ユーザーのサイトへのリンクを出力

複数のユーザーでWordPressに記事を投稿している場合、ユーザーの管理画面の[サイト]の欄で、自身のウェブサイトのアドレスを設定することができます。

このアドレスを、WordPressループ内で the_author_link という関数を使うと、投稿ごとにそのユーザーのサイトへのリンクを出力することができます。

PHP

<?php the_author_link(); ?>

ユーザーの各種情報を任意で出力

WordPressでは、ユーザーのプロフィールとして多くの情報を登録することができ、the_author_meta の関数を使うと、必要に応じてこれらの情報を出力できます。

PHP

<?php the_author_meta( $field, $userID ); ?>

パラメータの$field の値は こちらのように多く、このタグをWordPressループの中で使った場合、ユーザー ID を指定する必要はなく、表示されるデータは現在の投稿の作成者のものになります。

WordPressループの外で使う場合、ユーザー ID を指定する必要があります。

ユーザーの一覧を表示

wp list authors という関数を使うことで、サイトの投稿者ユーザーの一覧を表示します。

ユーザーが投稿を済ませていれば、投稿一覧ページへのリンクが表示されます。

PHP

<?php wp_list_authors(); ?>

出力するタグを任意でユーザーの一覧を表示

wp list authors でもユーザーの一覧を出力することは可能ですが、画像や任意の内容を好きなタグで出力したい場合には、以下の記述をすることで、任意のユーザーの一覧を表示することが可能です。

PHP

<?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>