二重分類法を備えたクエリ投稿
-
16-10-2019 - |
質問
したがって、「ベンダー」と呼ばれるカスタムタイプと、そのための2つのカスタム分類法があります。 1つは「状態」で、もう1つは「タイプ」です。
1ページにある特定の状態のすべてのベンダーをリストしようとしています。完全に機能する「Taxonomy-tate.php」と呼ばれるファイルを使用しています。州内のすべてのベンダーを表示します。
ここで、私がやりたいのは、ベンダーの種類を順番に指定することです。したがって、ページは次のようになります:
「状態」のベンダー:
ベンダータイプ#1:ベンダー#1ベンダー#2ベンダー#3
ベンダータイプ#2:ベンダー#1ベンダー#2ベンダー#3
州ごとにベンダーを表示するようにしました。ただし、上記のレイアウトに表示する必要があります。
私はそれをする方法についてのアイデアを持っています。しかし、特定の州と特定のベンダータイプからベンダーを取得できるクエリを作成できる必要があります。
Advancedに感謝します、
アラン
解決
うまくいけば、他の誰かがこの答えを具体化することを願っています、私は今、完全な解決策を書く時間がありません...
WordPress 3.1を使用している場合は、をご覧ください tax_query
渡すことができるパラメーター query_posts
. 。複数の分類法とそれらの間の関係を処理できます。
オットーの投稿 WordPress 3.1:高度な分類法のクエリ 税のクエリが何ができるか、そしてそれらの使用方法について私が見た最高の説明です...
WPの古いバージョンでは、プラグインを使用して立ち往生しています このように, 、または自分でかなり複雑なSQLクエリを転がします。
他のヒント
WP 3.0.xの場合、この関数を使用しています。
function posts_search ($post_type,$taxonomies) { // $taxonomies should be an array ('taxonomy'=>'term', 'taxonomy2'=>'term2')
foreach ($taxonomies as $key=>$value) {
$args=array('post_type'=>$post_type,'post__in'=>$ids,$key=>$value,'showposts'=>-1);
unset($ids); $ids=array();
foreach($posts=get_posts($args) as $post) { $ids[]=$post->ID; }
if (empty($ids)) return false;
}
return $posts;
}
そして、これが模範です:
$posts = posts_search ('produtos',array('taxo1'=> 'term-aa','taxo2'=>'term-bb')); if($posts) { foreach($posts as $post) { ...
2つの分類パラメーターで投稿をクエリすることができます。それが役立つなら。
参考までに、機能は私からではありません。