私は次のようなプロジェクトに取り組んでいます
それで、私はこのループを作成しました、それはとてもうまくいきます、そして、私はそれぞれにこのループで6つの異なるテンプレートページを作成しました(私はちょうどそれぞれのために用語を変える)<?php $page = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts("post_type=experiencestatements&expertise=coastal&showposts=10&paged=$page"); if ( have_posts() ) : while ( have_posts() ) : the_post() ?>
だから、これはうまく機能していますが、私は別のテンプレートページを作成する必要があります:すなわち各用語のためのpage-exp-stmt-coastal.php。私は6つの(そして数えて)テンプレートページの代わりにそれぞれの用語のための条件ステートメントを持つ1つのテンプレートページだけを持ちたいです。 6ページ以上の異なるページを持っているということは、クライアントがTweakを欲しいと思う度に私が入り、それぞれを変える必要があるということです。
まとめると、分類法の用語に応じてループを変更する条件付きタグを作成するための手助けが必要です。そして、どうすればよいかわかりません。任意の助けは大歓迎です。
ありがとう、ラリー
これを行うにはいくつかの方法があります。1つの方法はget_the_terms
を使用することです。
ロジックは、ループを実行し、その分類法の用語に基づいて出力をカスタマイズすることです(これはおそらくそのままでは機能しません)。
//do a custom query here if needed
if ( have_posts() ) : while ( have_posts() ) : the_post();
$terms = get_the_terms($post->ID, 'Expertise');
//this will return and array of terms for your Expertise taxonomy.
foreach ( $terms as $term ) {
if($term->name == 'marine') {
// do custom stuff here
}elseif($term->name == 'waterway') {
// do custom stuff here
}elseif ....
あなたがコメントした後、それはあなたが用語ごとのカスタムコンテンツ、別名6つの用語のための同じコンテンツが欲しくないように思えます、これもまたこれをするいくつかの方法があります。
http://codex.wordpress.org/Class_Reference/WP_Query
$args = array(
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'Expertise',
'field' => 'slug',
'terms' => array( 'marine', 'waterway', 'you_other_terms_here' ),
),
)
)
$query = new WP_Query( $args );
別の方法は、私のオリジナルの提案を使用し、get_the_terms
を使用したい配列内のすべてのin_array
に一致させることです。
foreach ( $terms as $term ) {
if (in_array('marine', '$term')) && (in_array('waterway', '$term')) && etc..
//do stuff
}
というテンプレートを作成できませんでした
分類法 - Expertise.php
に従って: http://codex.wordpress.org/Template_Hierarchy#Custom_Taxonomies_display
WPはすでに分類法の各用語に対して適切なクエリを使用しているため、ループを調整する必要はまったくないように思われます。ただし、ここで用語名をテストし(クエリ変数に含まれることもあります)、保証どおりに別の表示コードをトリガすることもできます。