【问题标题】:Can i filter the custom post type items by the URL parameter values?我可以通过 URL 参数值过滤自定义帖子类型项目吗?
【发布时间】:2023-03-25 15:11:01
【问题描述】:

网址:-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'

the image says all I want!

【问题讨论】:

  • 请阅读How to Askminimal reproducible example。您需要向我们展示您尝试了什么,而不仅仅是告诉我们您尝试了“某事”,但它没有奏效。
  • 对不起!!请立即查看
  • 您需要使用实际的元字段名称作为键 - 现在,您似乎正在使用其中一个值,18 – 我怀疑您的字段实际上是 named我> 18?如果您在这里谈论两个不同的元字段,那么您需要添加 两个 元查询,每个查询一个。

标签: php wordpress advanced-custom-fields acfpro


【解决方案1】:

我得到了答案!!

    <?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();
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-15
    • 2020-11-17
    • 2019-11-24
    • 2012-08-29
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多