同じ投稿タイプに属する2つの分類法があります(投稿)。
アドベンチャー - カテゴリ分類法に属するアドベンチャー - 休日型分類法に属する
2つのクエリを実行したいです。
$args = array(
'post_type' => 'post',
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'holiday-types',
'field' => 'slug',
'terms' => 'adventure',
),
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => 'adventure',
),
),
);
$the_query = new WP_Query( $args );
用語は同じですが、それらに関連付けられている投稿が異なります。
このクエリでは、分類分類ではなく、休日分類分類の投稿のみが返されます。配列を休日の種類でコメントアウトすると、分類カテゴリに関連する投稿が表示されます。
私は彼らが両方とも一緒に見せると同時にページ付けをする必要があります。
'paged' => get_query_var('paged')
私はこれを最初の配列に追加する必要があることを読みましたが、最初にループが正しく動作するまでこれをテストすることはできません。
私が間違っているところで何かアイデアがありますか?
OK。私は今これでどこかに持っています、しかしページネーションはうまくいきません。他のページにクリックスルーすると404ページに移動します。 2、3、4。足りないのは何ですか?
global $query_string;
$myquery = wp_parse_args($query_string);
$myquery = array(
'paged' => $paged,
'numberposts'=>-1,
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'terms' => array('adventure'),
'field' => 'slug',
),
array(
'taxonomy' => 'holiday-types',
'terms' => array('adventure'),
'field' => 'slug',
),
),
);
query_posts($myquery);
while ( have_posts() ) : the_post();
echo '<li>';
the_title();
echo '</li>';
endwhile;
// Reset Query
wp_pagenavi();
wp_reset_query();
その上numberpostsは省略されているので'numberposts'=>-1
を使用しないでください。-1は1ページにすべての投稿を表示します。
代わりにposts_per_page
を使用して、投稿数に応じて値を設定してください。
$paged= (get_query_var('paged' )) ? get_query_var('paged'):1;
global $query_string;
$myquery = wp_parse_args($query_string);
$myquery = array(
'paged' => $paged,
'posts_per_page'=>10,
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'terms' => array('adventure'),
'field' => 'slug',
),
array(
'taxonomy' => 'holiday-types',
'terms' => array('adventure'),
'field' => 'slug',
),
),
);
query_posts($myquery);
while ( have_posts() ) : the_post();
echo '<li>';
the_title();
echo '</li>';
endwhile;
// Reset Query
wp_pagenavi();
wp_reset_query();