在查询过滤器前显示所有wp_query帖子

问题描述 投票:0回答:1

我正在尝试找出如何正确过滤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 );

如何正确处理?

wordpress isset
1个回答
0
投票

您需要做的是仅在选择过滤条件后才添加过滤条件...

$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 );

这样,只有当有人选择了一个值时,它才会根据车龄进行过滤。

© www.soinside.com 2019 - 2024. All rights reserved.