Wordpress 在查询筛选之前显示所有wp_查询帖子

Wordpress 在查询筛选之前显示所有wp_查询帖子,wordpress,isset,Wordpress,Isset,我正试图找出如何正确过滤wp_查询。我目前拥有的代码运行良好,但结果是——它在开始时没有显示任何帖子。只有在过滤之后。因此,问题在于验证select输入。我尝试了多种方法来实现这一目标,但都没有成功 这是我的密码 $args_main_query = array( 'post_type' => 'newoldcars', 'post_status' => 'publish', 'posts_per_page' => -1,

我正试图找出如何正确过滤wp_查询。我目前拥有的代码运行良好,但结果是——它在开始时没有显示任何帖子。只有在过滤之后。因此,问题在于验证select输入。我尝试了多种方法来实现这一目标,但都没有成功

这是我的密码

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

如何正确地进行过滤???

您需要做的只是在选择过滤后添加过滤

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

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

当你说“仅在过滤后”时,你的意思是在提交表单之后?当用户选择了car age.justice-因此当我加载页面时,它只显示筛选表单。当用户按下提交按钮时,将显示帖子。我想有一个完全不同的情况-循环应该从一开始就加载,当用户使用过滤表单时,它只显示特定的帖子。