Я хочу выполнить поиск на моем WordPress-сайте, где у меня есть пользовательский пост (cp_course
) с некоторыми пользовательскими полями (course_code
, course_iteration
).Course_iteration
пользовательское поле - это Repeater
, содержащее эти даты sub_fields
: course_iteration_start
и course_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();?>
Но без удачи.Кто-нибудь может подсказать мне, как решить эту проблему?Я потратил на это столько дней, не успев заставить его работать, и это так расстраивает.Если это не легко, есть ли плагин, который может достичь этого?