サポート » 使い方全般 » 投稿者別のカテゴリ一覧を表示したい

  • 解決済 Stocker_jp

    (@natsuki1982)


    はじめまして。
    通常、サイドバーにカテゴリ一覧を表示する際
    wp_list_categories
    を使用して

    <h2>カテゴリ一覧</h2>
    カテゴリA (3)
    カテゴリB (3)
    カテゴリC (3)

    のように表示させています。

    今回、WordPress 3.2(マルチブログではなく1つのブログ)に複数の投稿者が投稿しており、それぞれの投稿者がログインした際、その投稿者が投稿したカテゴリのみのカテゴリ一覧を表示させたいと思っています。

    例えば、投稿者ID 1 のユーザーがログインした際、その投稿者が「カテゴリA」と「カテゴリC」にそれぞれ1件ずつの記事を投稿していた場合、サイドバーには

    <h2>投稿者1のカテゴリ一覧</h2>
    カテゴリA (1)
    カテゴリC (1)

    のように表示したいのです。
    (投稿者ID 1 が投稿していない「カテゴリB」は非表示)
    それぞれのカテゴリをクリックすると、その投稿者が投稿した記事のみが一覧として表示されるようにしたいです。

    また、投稿者ID 1 が投稿者ID 2 のページ(author.php)へ遷移した際は、サイドバーに投稿者ID 2 が投稿したカテゴリの一覧を表示したいです。
    例えば、投稿者ID 2 が「カテゴリB」のみに1件だけ記事を投稿していた場合

    <h2>投稿者2のカテゴリ一覧</h2>
    カテゴリB (1)

    となります。

    このように表示させるには、sidebar.php や author.php にどのようなPHPを記述すれば良いでしょうか。
    ちなみに、PHP/MySQLともに5.3です。
    少々分かりづらくてすみませんが、よろしくお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック投稿者 Stocker_jp

    (@natsuki1982)

    こちら、Twitterで @jim0912 様にご回答いただきました。ありがとうございました。

    http://twitter.com/jim0912/status/92946115913187329
    http://twitter.com/jim0912/status/92948817418268672

    すみませんが、フォーラムでの質問をTwitterで答えてもらってリンクで済まされても、後に同じことをしたい人が見た時にリンク切れしていることもあるかと思うので、ここに文章できちんとまとめてもらえませんか?

    質問する側も答える側も、もう少しモラルを持っていただきたいと思います。

    chestnut_jpさんの言う通りだと思います。

    natsuki1982さん、@jim0912さんにお願いして転載を許可してもらい、ここのフォーラムにまとめてもらえますか。(回答する人は自分の好きなメディアでもいいでしょうけど、質問する人は、後の人のことを考えてください)

    トピック投稿者 Stocker_jp

    (@natsuki1982)

    >chestnut_jp 様
    >php-web 様

    Twitterのツイートへのダイレクトリンクは、本人がアカウントを削除するかそのツイートを削除しない限り勝手にリンク切れするような事はないという事と、回答していただいた方に転載許可までは頂いていなかったため転載は控えておりましたが、どうやらこのフォーラムのルールに反していたようで大変失礼いたしました。

    回答者の方に転載許可を頂いてから転載させていただきますので今しばらくお待ち下さい。

    トピック投稿者 Stocker_jp

    (@natsuki1982)

    回答者の方に転載許可を頂いたので、ここに転載させていただきます。

    すくなくともデフォルトのテンプレートタグでは無理です。投稿数が少ないのであれば、ユーザーの投稿全て引っぱってきて、それをループさせてカウントする方法でしょうか。数か多くなるのであれば、投稿時にキャッシュデータを作っておく方が無難だと思います。

    ユーザーごとのカテゴリ表示は、posts_whereにauthorの条件加えればいいので、それほど難しくはないです。クエリーのフックがわからなければ、query_postsで打ち直せばよいです。

    posts_whereへのフックならばクエリーが1回で済みます。query_postsだとデフォルトのクエリーとは別にクエリーが発行されるので、非効率にはなりますね。(もちろんその分遅くなります。

    とのことです。
    今回は、ユーザーデータに”user_category”という項目を追加し、そこに各カテゴリ名と投稿数を記録しておく方法で制作しようと思っております。

    以上です。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「投稿者別のカテゴリ一覧を表示したい」には新たに返信することはできません。