我试图弄清楚如何正确过滤wp_query。我目前拥有的代码可以正常工作,但结果是-开头没有显示任何帖子。仅在过滤之后。因此,问题在于验证选择输入。我尝试了多种方法来实现这一目标,但没有成功。
这是我的代码
$args_main_query = array(
'post_type' => 'newoldcars',
'post_status' => 'publish',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'cars',
'field' => 'slug',
'terms' => $_POST["car_age"],
),
),
);
$query = new WP_Query( $args_main_query );
如何正确执行?
答案 0 :(得分:1)
您需要做的只是在选择过滤条件时添加过滤条件...
$args_main_query = array(
'post_type' => 'newoldcars',
'post_status' => 'publish',
'posts_per_page' => -1
);
if( isset($_POST["car_age"]) ) {
$args_main_query['tax_query'] = array(
array(
'taxonomy' => 'cars',
'field' => 'slug',
'terms' => $_POST["car_age"],
)
);
}
$query = new WP_Query( $args_main_query );
这样,只有当有人选择了一个值时,它才会根据车龄进行过滤。