• (1) Userのプロフィールを表示するページ(写真などがあり)
    (2) Userの投稿一覧ページ(記事一覧のみ)
    を作りたいと考えています。
    (1)のプロフィールページに、「○○の投稿一覧」リンクで、(2)へリンクします。

    author.phpを使って、(1)を表示しましたので、(2)はどのテンプレートを使うか分からなくなりました。
    Wordpressのテンプレート階層マニュアルをみますと、(2)も、author.phpを使って表示しているので、もしかして、(1)は違うテンプレートが正しいでしょうか。

    ページの構造は以下のようになっています。

    page-member.php : User一覧
    └ author.php : Userプロフィール(一人に絞って)
      └ ??? :User投稿一覧
        └ single.php :投稿の詳細

    現在私が考えているやり方としては、記事一覧には、?show=1 というパラメータを付け、
    author.phpに、show=1の場合は記事一覧、そうでない場合はプロフィール情報を表示する、といった回りくどいやり方です。

    どなたかアドバイスいただければと思います。

    ありがとうございます。よろしくお願いします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • モデレーター Okamoto Hidetaka

    (@hideokamoto)

    page-の下にあるということは、固定ページから読み込ませているということでしょうか?
    であれば現状のauthor.phpは他のファイル名にしておくと事故がおきないかなと思います。

    ユーザー毎に表示を変えたい場合は
    author-$id.phpを使いましょう。

    基本的には、auhor.phpの挙動は、(2)のほうになります。なので、プロフィールページはユーザーごとに固定ページを作成するというのが、ベターな設計かと思います。

    1. 固定ページでユーザーのプロフィールを作成
    2. 作成したページの所有者を対象のユーザーに変更
    3. profile.php みたいなカスタムページテンプレートを用意して、それを各ページに適用。そのテンプレート内で所有者の情報を取得&表示

    あたりが、良いのかと思います。

    author.phpに、show=1の場合は記事一覧、そうでない場合はプロフィール情報を表示する、といった回りくどいやり方です。

    WordPress の仕組みを活かしたやり方だとは思いますので別に問題ないと思いました。
    ただ、僕がやるとしたら、パラメータを付けたときには、ユーザープロフィールにして、パラメータがない場合には記事一覧にすると思います。
    記事一覧はページングがありますので、パラメータが無いと表示されないのは困るからです。
    パラメータを付ける方を、標準的ではないやり方にしたほうがだいたいうまくいきます。

    また、サイトの構成を変更してOKなのであれば、
    1ページ目のときにはプロフィール表示→下の表に記事一覧(1ページ目の分だけ)→その下に2ページめへのリンク
    みたいにするのが訪問者のクリックが少なくてよいなぁ、と思います。
    その場合、プロフィール表示部分は、if ( ! is_paged() ) {} でラップする感じになります。
    この方法だと、ファイルが増えないのでオススメだなぁ、と。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「author.phpの使い方」には新たに返信することはできません。