首页 > 解决方案 > 我可以通过 URL 参数值过滤自定义帖子类型项目吗?

问题描述

网址:-abcdefghi/?state=18&district=DistrictName

如上所述,我有一个 URL,我想通过这些参数过滤我的自定义帖子类型项目。我还为每个项目提供了高级自定义字段,这些字段在 URL 中包含相同的值(州和地区)

我只想要过滤州和地区的结果,

我使用了 meta_query 方法,但没有得到任何解决方案,

下面的代码是我尝试的解决方案

$state = $_GET["state"];
        $district = $_GET["district"];

        echo $state;
        echo $district;

        $premium_member_args = array(
            'post_type' => 'premium-member',
            'post_status' => 'publish',
            'posts_per_page' => -1,
            'meta_query' => array(
                'key' => $state,
                'value' => $district,
            ),
        );

        $premium_member_query = new WP_Query( $premium_member_args );
        if ( $premium_member_query->have_posts() ):
        while ( $premium_member_query->have_posts() ) : $premium_member_query->the_post();
        $state_value = get_field( 'state'); 
        $district_value = get_field( 'district'

图片说明了我想要的一切!

标签: phpwordpressadvanced-custom-fieldsacfpro

解决方案


我得到了答案!

    <?php  
$state = $_GET["state"];
$district = $_GET["district"];
$premium_member_args = array(
    'post_type' => 'premium-member',
    'post_status' => 'publish',
    'posts_per_page' => -1,
    'meta_query' => array(
        'relation' => 'AND',
        array(
            'key' => 'state',
            'value' => $state,
            'compare' => 'LIKE',
        ),
        array(
            'key' => 'district',
            'value' => $district,
            'compare' => 'LIKE',
        )
    )
);
$premium_member_query = new WP_Query( $premium_member_args );
if ( $premium_member_query->have_posts() ):
    while ( $premium_member_query->have_posts() ) : $premium_member_query->the_post();
    ?>
        <h5 class="card-title"><?php echo the_title(); ?></h5>
    <?php
    endwhile;
endif;
wp_reset_postdata();
?>

推荐阅读