【WP】ユーザーの一覧、ユーザー別に最新記事を表示する方法

wordpress-author-info-displayキュレーションサイトなど最近では複数のライターによって運営される情報サイトをよく見ることができます。そのようなサイトにおいて、ユーザーの一覧を表示する、さらには1ページ内にユーザー事に最新記事を表示するといったページがほしいときがあります。

今回は、WordPressでユーザーの一覧、ユーザー別に最新記事を表示する方法をご紹介します。

「get_users」関数を使用したユーザー情報の取得

ユーザー情報を取得るときは「get_users」関数を使います。「get_users」関数では権限の指定、ソートの設定、特定のIDのユーザーを除外するといった条件を設定することができ、表示するときの順番を制御することができます。

// 例.投稿者(author)のみをIDの降順(DESC)ですべての情報を取得する
  $args = array(
	  'role'            => 'author',
	  'orderby'         => 'ID',
	  'order'           => 'DESC',
	  'fields'          => 'all',
  ); 
  
  $users    = get_users( $args );

単純にIDや表示名でのソートでは目的とする順番で並びを変えることができない場合は、ユーザー情報に「並び順」などカスタム項目を追加して並びを調整することも可能です。

ユーザー情報のカスタマイズする場合は、「functions.php」必要なコードを追記するか、「User Meta Manager」などのプラグインを使い編集することができます。

取得したユーザー情報を表示する

「get_users」関数で取得した情報を「foreach 」を使い表示します。

// 表示名を出力する
foreach ( $users as $user ) {
	echo '<p>' . esc_html( $user->user_nicename ) . '</p>';
}

ユーザー事に記事を表示する

ユーザー情報の表示に合わせて投稿の記事を取得する処理を追加します。

// 表示名と投稿記事を取得して表示する
foreach ( $users as $user ) {
	echo '<p>' . esc_html( $user->user_nicename ) . '</p>';
	// 投稿記事の取得
	$args = array(
	  'post_type'       => 'post',
	  'author'	    => $user->ID,
	  'numberposts'     => 5,
	);
	
	$myposts = get_posts( $args );
	
	foreach( $myposts as $post ) :  setup_postdata($post);

        // 記事表示の処理

        endforeach; wp_reset_postdata(); 
}

関連記事

【デザイン】ライセンスフリーのグラフィカルユーザインタフェーステンプレート

WEBサイトやパソコンの画面などに見られるメニューやボタンなどのグラフィカルユーザインタフェース(GUI)のテンプレートをまとめてみました。 Flat Style & iOS 7 Line Style UI Kit PSD フラットデザイン、iOS 7 イメー...続きを読む

2015.02.14インスピレーション

美容室グランディール様WEBサイトのリニューアル

富士宮市にある『美容室グランディール』様のWEBサイトのデザインをリニューアルいたしました。上質な空間を演出できるように、よりナチュラルな印象に、おしゃれで可愛らしい雰囲気のデザインに仕上がりました。 インスタグラムでの投稿と連携して、写真が表示されるようになっております。...続きを読む

2018.02.06WEBサイト制作リニューアル美容室

【フォト】蓮華寺池公園フォトギャラリー≪冬≫

藤枝市のほぼ中央に位置し、「花・水・鳥・笑顔」がテーマの公園「蓮華寺池公園」。池を囲む公園は、桜や藤の花、蓮の花など季節を通して自然を楽しむことができる憩いの場所です。今回、紹介する冬の蓮華寺池公園の山頂周辺の写真です。自然のなかを歩いたり、眺めの良い見晴台があったり、広場やアス...続きを読む

2018.02.07フォトギャラリー藤枝

【WP】アップロードするメディアフォルダをカスタマイズする

wordpressでは画像などのメディアファイルを投稿すると初期設定では「投稿年」「投稿月」のフォルダが作られ、そのフォルダ内にデータがアップロードされます。 コーポレートサイトとして運用しカスタム投稿や固定ページを多く使用するような場合はカスタム投稿やページ毎に分けて...続きを読む

2015.03.13WordPress

サロンドブー様で行われたテレビ撮影に密着しました

富士市にある美容室とエステサロンの『サロンドブー』様の写真撮影をいたしました。サロンドブー様でサービス提供している霧でかける新感覚のパーマシステム「プルームパーマ」のテレビ撮影があるとのことで、密着さいて撮影の様子や「プルームパーマ」の施術の様子を撮影いたしました。 ...続きを読む

2015.04.23フォトギャラリー