Код: Выделить всё
function my_search_query( $query ) {
if ( !is_admin() && $query->is_search && is_post_type_archive( 'course' ) ) {
if (!empty($query->query_vars['weekday'][0])){
$query->set('meta_query', array(
array (
'key' => 'course_weekday',
'value' => $query->query_vars['weekday'][0],
'compare' => '='
)
));
}
if (!empty($query->query_vars['s'])){
$query->set('meta_query', array(
'relation' => 'OR',
array (
'key' => 'course_text',
'value' => $query->query_vars['s'],
'compare' => 'LIKE'
),
));
}
}
}
add_filter( 'pre_get_posts', 'my_search_query');
ОБНОВЛЕНИЕ: Я изменили pre_get_posts на
Код: Выделить всё
function my_search_query( $query ) {
if ( !is_admin() && $query->is_search && is_post_type_archive( 'course' ) ) {
if (!empty($query->query_vars['weekday'][0])){
$query->set('meta_query', array(
array (
'key' => 'course_weekday',
'value' => $query->query_vars['weekday'][0],
'compare' => '='
)
));
}
}
}
add_filter( 'pre_get_posts', 'my_search_query');
Код: Выделить всё
ОБНОВЛЕНИЕ 2: Нет, извините, решение 2 тоже не работает. При первом тестировании у меня были неверные данные.
Подробнее здесь: https://stackoverflow.com/questions/487 ... stom-field