我有两个属于同一个帖子类型(posts)的分类法。
冒险-属于分类法Adventure-属于假日类型分类法
我想运行两个查询:
$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\')
我已经读到我需要将其添加到第一个数组中,但我想我无法测试它,除非我首先让循环正常工作。
你知道我哪里做错了吗?
正常。我现在已经知道了一些事情,但分页不起作用。当点击其他页面(如2、3、4)时,它将进入404页面。我错过了什么?
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();
SO网友:terminator
不使用\'numberposts\'=>-1
因为numberposts被删除了,而且-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();