【发布时间】:2019-02-01 21:35:39
【问题描述】:
是否可以运行单个 WP_Query:
$args = array(
'tag__in' => 5
);
new WP_Query( $args );
但是如果找到 0 个帖子,从 X 类别中显示?
是否是检查 have_posts() 以及是否为零以使用该类别运行新查询的唯一方法?希望不会。
【问题讨论】:
是否可以运行单个 WP_Query:
$args = array(
'tag__in' => 5
);
new WP_Query( $args );
但是如果找到 0 个帖子,从 X 类别中显示?
是否是检查 have_posts() 以及是否为零以使用该类别运行新查询的唯一方法?希望不会。
【问题讨论】:
不确定这是否正是您想要做的,因为还有另一个查询正在运行,但您可以在运行查询之前使用get_term_by 来检查是否有任何带有该标签的帖子。然后根据返回的内容修改 $args 数组。
尚未进行任何测试,但这样的事情应该可以工作。
$args = array();
$total = get_term_by( 'id', 5, 'post_tag' );
if ( $total->count > 0 ) {
$args['tag__in'] = 5;
} else {
$args['cat'] = 1;
}
new WP_Query( $args );
【讨论】: