WordPressのユーザー一覧ページを作る

2013-3-8の勉強会で、ランサーしょうじさんへお伝えしようとした内容を、改めて整理して実装してみました。
まず、ユーザー一覧ページを作る条件は以下の通りでした。

  • 登録されたユーザーのアバターやプロフィール情報を自動取得して表示したい
  • テーマはTwenty Twelveのクローン。テンプレートファイルの編集はアリとする。
  • ページ自体は固定ページで作成
  • 他の固定ページには影響を与えないこと


やり方は色々とあると思いますが、以下の考え方で実装しました。

  • ユーザー一覧用に、固定ページを作成し、本文には「以下が現在のメンバー一覧です」までを書く
  • 作成した固定ページのIDを調べる
  • テンプレートファイル「page.php」内で if( is_page(ID) ) :で分岐させ、endif;までの間に処理を書く
  • get_users()でユーザー情報を取得し、変数に格納しておいて、foreachで処理。

具体的には、ループの内部にある、get_template_part( ‘content’, ‘page’ ); と、comments_template( ”, true ); の間に処理を入れて、以下のようになります。

htmlとして出力したら、cssで整えて完成です。

実装結果はこちらになります

WordPressのユーザー一覧ページを作る」への7件のフィードバック

  1. ランサーしょうじランサーしょうじ

    ありがとうございます。こういうことがしたかったのです。
    PHPの記述のところが今一つ理解できませんが、これから順を追って精読してみます。
    CSSの方は、背景色とAvatar画像のborderを変えてみました。

    返信
  2. ピンバック: 2013-3-15勉強会 | パソコン倶楽部りんご

  3. yuuma

    初めまして、WordPress勉強中のyuumaと申します。
    まさにやりたいとしていた事がこちらで見つかりました。本当に感謝いたします。

    今ユーザー一覧ページを作っていまして、こちらで書かれている事を参考に何とか設置できました。

    しかし、ユーザーが今30人ほどいて、一覧表示すると重たく長すぎるので、5人ほどでページ送りしたいと思っています。
    何か良い方法がないかと考えていたのですが、どうしても答えが出なくて、、、コメントした次第です。

    アドバイスいただけないでしょうか?

    それと、パソコン倶楽部りんご様のサイトを僕のサイトでリンク紹介してよろしいでしょうか?
    http://yuuma7.com/

    見ず知らずのものがいきなり質問してしまい申し訳ございません・・・

    返信
    1. kanedakaneda

      yuumaさんコメントありがとうございます。
      固定ページをページ送りしたいのですよね?
      TAKAHASHI先生のアドバイスで、検索してみました。

      検索→ ワードプレス 固定ページ ページ送り
      こちらのサイトがでてきました。
      http://kachibito.net/wordpress/stacking-posts-in-a-grid.html

      固定ページのテンプレートでもページ送りができるように改造すればできるはずです。
      なので、こちらを見て下さい!
      参考サイト

      返信
    2. 真中のぶ真中のぶ

      yuumaさん

      はじめまして。
      僕もバッグひとつもってNew Zealandに1年、アメリカに数ヶ月いたこととがあります。昨年はサーフボードをもってバリ島にいってきました。バンドをやってフリーでwebデザイナーしてサーフィンして、回りからは自由人といわれています。自分でもそう思います。
      yuumaさん一家の生き方、とても素敵だと思います。なんだか気が合いそうなきがします。
      機会があったら会ってみたいですねー。

      のぶ

      のぶ

      のぶ ブログhttp://blog.livedoor.jp/happygolucky1969/

      >それと、パソコン倶楽部りんご様のサイトを僕のサイトでリンク紹介してよろしいでしょうか?
      もちろん!よろしくお願いします。

      返信
  4. ピンバック: WordPressのユーザー一覧ページ用のテンプレート | パソコン倶楽部りんご

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


This site uses Akismet to reduce spam. Learn how your comment data is processed.