Wordpress ACF:使用子字段中继器日期查询

时间:2018-10-24 13:52:14

标签: php wordpress search advanced-custom-fields

我想在我的wordpress网站上执行搜索,该网站上有一个自定义帖子(cp_course),其中包含一些自定义字段(course_codecourse_iteration)。 Course_iteration自定义字段是一个Repeater,其中包含以下日期sub_fieldscourse_iteration_startcourse_iteration_start

所以这是我到目前为止尝试过的:

// filter
function my_posts_where( $where ) {

    $where = str_replace("meta_key = 'course_iterations_%", "meta_key LIKE 'course_iterations_%", $where);

    return $where;
}

add_filter('posts_where', 'my_posts_where');




$args = array(
        'post_type'  => 'cp_course', 'numberposts' =>-1,'orderby' => 'ID', 'order' => 'ASC', 's' => $searchterm,
        'meta_query' => 
            array(
                'relation' => 'AND',
                array(
                    'key'   => 'course_code',
                    'value' => $code,
                ),
                array(
                    'key' => 'course_duration',
                    'value' => $duration,
                ),  
                array(
                    'key'   => 'course_iterations_%_course_iteration_start',
                    'compare' => 'between',
                    'type' => 'numeric',
                    'value' => array($date_from, $date_to),

                )
            )

    );


$course = get_posts($args);


<div class="page_title">
    <h3>Courses</h3>
</div>
<?php foreach ($course as $post):setup_postdata($post);?>
<a href="#"><?php the_title();?></a>

<?php endforeach;wp_reset_postdata();?>

但是没有运气。谁能指导我如何解决这个问题?我花了很多天的时间却没有设法使其正常工作,而且如此令人沮丧。如果不容易,有没有一个插件可以实现这一目标?

1 个答案:

答案 0 :(得分:0)

据我所知,ACF自定义字段未公开,在默认的wp_queries中,您可能需要查看一下才能实现所需的功能:https://wordpress.org/plugins/acf-to-rest-api/