• WP2.6日本語版を使用しています。

    (実現したいこと)
    複数カテゴリのすべてに同時に登録された最新記事1件をトップページに表示したい。

    (現在の状況)
    * index.phpとは別にhome.phpを新たに作り、homeページのテンプレートとして設定しました。
    * 記事の内容ごとに、「政治」「社会」などのカテゴリに投稿されていますが、同時に写真が入った記事は「photo」カテゴリにも設定されています。

    -> たとえば、「政治」カテゴリに属し、かつ「photo」カテゴリにも属する記事だけをトップページに表示したいと考えています。

    (やってみたけどうまくいかなかった事)
    * query_postを使った場合、複数のカテゴリから最新記事1件表示はできましたが、複数カテゴリのすべてに設定された記事を対象にする方法がわからない。(できないのでしょうか?)

    何かよい方法をご存知でしたら、是非アドバイスをお願い致します。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • SQLを使って解決できそうです。

    1.term_relationships
    からカテゴリに属する投稿IDを抽出
    2.posts
    からその中の最新データを抽出

    2はget_posts, query_postでもできそうです。

    トピック投稿者 ritsmatejp

    (@ritsmatejp)

    taikikenさん

    さっそくのご返信ありがとうございました。

    …が、仰る意味が難しくなかなか理解することができません…

    term_relationshipsというテーブルがSQL中にあることは知っていますが、それをどのように利用し、query_postで呼び出すことができるのかを、知ることができませんでした…

    もしかしたらver2.3限定かもしれませんが、
    本家(英語)の「query_posts」の解説にヒントが載ってます。
    (http://codex.wordpress.org/Template_Tags/query_posts の下の方)

    (自分ではまだ試していないのですが)
    query_posts(array(‘category__and’=>array(1,3),’showposts’=>2,’orderby’=>title,’order’=>DESC));

    とすると

    「At 2.3 this combination will return posts belong to both Category 1 AND 3, showing just two (2) posts, in descending order by the title:」
    …1と3両方に属する記事を取得できるとありますので、複数カテゴリで絞り込めると思います。「2.3」と明記されているのが気になりますが。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    「2.3」と明記されているのが気になりますが。

    Codex の更新が遅れているだけでしょう。残念ながら 2.5 に対応した記述があまりできてないようです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「複数カテゴリに同時に登録された記事だけを表示する」には新たに返信することはできません。