ritsmatejp
メンバー
3 years前の投稿 #
WP2.6日本語版を使用しています。
(実現したいこと)
複数カテゴリのすべてに同時に登録された最新記事1件をトップページに表示したい。
(現在の状況)
* index.phpとは別にhome.phpを新たに作り、homeページのテンプレートとして設定しました。
* 記事の内容ごとに、「政治」「社会」などのカテゴリに投稿されていますが、同時に写真が入った記事は「photo」カテゴリにも設定されています。
-> たとえば、「政治」カテゴリに属し、かつ「photo」カテゴリにも属する記事だけをトップページに表示したいと考えています。
(やってみたけどうまくいかなかった事)
* query_postを使った場合、複数のカテゴリから最新記事1件表示はできましたが、複数カテゴリのすべてに設定された記事を対象にする方法がわからない。(できないのでしょうか?)
何かよい方法をご存知でしたら、是非アドバイスをお願い致します。
SQLを使って解決できそうです。
1.term_relationships
からカテゴリに属する投稿IDを抽出
2.posts
からその中の最新データを抽出
2はget_posts, query_postでもできそうです。
ritsmatejp
メンバー
3 years前の投稿 #
taikikenさん
さっそくのご返信ありがとうございました。
…が、仰る意味が難しくなかなか理解することができません…
term_relationshipsというテーブルがSQL中にあることは知っていますが、それをどのように利用し、query_postで呼び出すことができるのかを、知ることができませんでした…
dxd5001
メンバー
3 years前の投稿 #
もしかしたら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」と明記されているのが気になりますが。
「2.3」と明記されているのが気になりますが。
Codex の更新が遅れているだけでしょう。残念ながら 2.5 に対応した記述があまりできてないようです。