私はこれに対する答えが私が昨日尋ねたこの質問に関連することを想像します。
特定の分類法からのエントリが割り当てられているすべての投稿を含むRSSフィードを出力したいと思います。私がすることができます:
http://blog.example.com/feed/?taxonomy=taxonomy-name&term=test-term
特定の用語に割り当てられたすべての投稿を返すには、その分類法のすべての用語からのすべての投稿を表示するフィードが必要です。
ありがとう、Dave
あなたのサイトにその必須のプラグインを入れて、リクエストしてください:
あなたがそれを求めたように。
Wordpressは複数の設定でフィードを要求します。 フィードURLの検索(Wordpress Codex) は可能なことを示します。標準フィード(投稿)の横には、次のものがあります。
http://example.com/?feed=commentsrss2
http://example.com/?cat=42&feed=rss2
http://example.com/?tag=tagname&feed=rss2
http://example.com/author/authorname/feed/
http://example.com/?s=searchterm&feed=rss2
(注:RSS2はWordpressのデフォルトフィードフォーマットです)
ご覧のとおり、分類法の投稿に対するフィードのクエリに関するURLの例はありません。
一般に、フィードは他のブログ投稿やコメントの並びとまったく同じです。つまり、WP_Queryを実行してからフィードテンプレートでループを実行します。
WP_Queryは、デフォルトでtaxonomy
リクエストパラメータをサポートしています。その要求パラメータは codexに文書化されている種類のもの です。そのセクションには2つの問題があります。私がその文書にリンクしている点は、その価値が分類法スラッグと比較されることを示すことです。
そのため、WordPressがあなたがやりたいことを簡単に実行できるかどうかを調べるには、特定のカテゴリを要求するときにフィードがすでに分類法をサポートしているかどうかを調べる必要があります。私はすでにこれをしました、これは事実ではありません。追加のリクエストクエリvarが代わりに使用されます:category_name
。
だから今のところ唯一の興味深い部分はtaxonomy
リクエストパラメータをさらに利用できるということです、そしてwordpressがフィードデータベースデータを探すときそれは分類学クエリモードではなく、何らかのレガシーカテゴリクエリモードにあります。分類法を探しているので、それは少し残念です。
必要だから。ここでのWordpressの問題は、あなたが今ソフトウェアの最も複雑な内なる部分にぶつかり始めたということです。パッケージ内には、コードのデバッグのような非常に複雑な関数がいくつかあります。理解するには、次のステップを実行する必要があります。
そのようにしている間、あなたは物事があなたがやりたいことをさせるために外出中に値とコールバックを操作するのに利用できるフィルタまたはフックを見つけることが十分に幸運であるかもしれません。しかし問題は、あなたがいじくり回すほど、物事を破る危険性が高くなるということです。
だから芸術はそれほど侵略的ではない場所である変更を加える場所を見つけることです。
上記のように、分類法のサポートはWP_Queryに直接追加する必要があります。そのためには、その関数にフックして値を変更します。
しかし、分類法についてまったく問い合わせることはできますか?それに関する3.1以前の情報はあまり見つかりませんでした。 WordPress 3.0でもカスタム分類法をサポートしているようですが、リクエストパラメータで特定の分類法に含まれる投稿をクエリすることはできませんでした。
私の3.1テストベッドでも、リクエストパラメータを分類法のクエリにマッピングすることができませんでした。ですから3.1でもこれは簡単にはできません。
私がこれまでに見たことができる最も見栄えの良い解決策はWP_Queryにフックして WordPress 3.1ベースのカスタム分類クエリ を利用することです。ここでいくつかのモックアップコード:
$myquery['tax_query'] = array(
array(
'taxonomy' => 'category',
),
);
query_posts($myquery);
私たちは分類法についてのみ質問しているので、これはうまくいかないかもしれないと私は嗅ぐ。詳細に確認しましょう。
調べるために、私はpre_get_posts
にフックして上に示されたWordPress 3.1カスタム分類クエリを注入する簡単なスクリプトを実装します。分類法として、私はデフォルトのものの一つを使いました:category
(あなたは ここで全てのデフォルトの分類法を見つけることができます )。それはたくさんのPHP警告を吐き出しますが、これはこの機能がどういうわけか脆弱であることを示しています。だから、警告されて、物事が箱から出して動くことを期待しないでください。
とにかく私はこれをテストし、そして話を終わらせるために長い話をするために、私はただすべての用語をつかみそしてそれからそれらを質問に加えるという解決策を見つけました。これが私がこれまでに使った私のmu-pluginです:(上に掲示された)、私のために仕事をします。
または単にURLを使用してください:feed://www.myurl.org/feed?post_type = news&category_name = MyCategory