Вам нужны даты. Вот хороший учебник по date queries и вот код на date parameters за WP_Query
.
Вам также нужно будет фильтровать query_vars
, чтобы добавить новые переменные запроса и pre_get_posts
, чтобы изменить сообщения, полученные на основе ваших новых запросов.
Со всем этим справочным материалом, вот моя попытка как это сделать.
// Add query vars for filtering by years
function so_33714675_add_vars($query_vars) {
$query_vars[] = 'from_year';
$query_vars[] = 'until_year';
return $query_vars;
}
add_filter('query_vars', 'so_33714675_add_vars');
// Filter product arvhice if query vars are present
function so_33714675_pre_get_posts($query) {
if (!is_admin() && is_shop() && $query->is_main_query()) {
$from_year = get_query_var('from_year');
$until_year = get_query_var('until_year');
$date_query = array();
if(! empty($from_year)){
$date_query['after'] = array(
'year' => $from_year,
);
}
if(! empty($until_year)){
$date_query['before'] = array(
'year' => $until_year,
);
}
// order by date
if(! empty($date_query)){
set_query_var('orderby', 'date');
set_query_var('order', 'ASC');
$date_query['inclusive'] = true;
set_query_var('date_query', array($date_query));
}
}
}
add_action('pre_get_posts', 'so_33714675_pre_get_posts');
Имейте в виду, что это не полностью протестировано. Я на 99% уверен, что это правильный подход, но это может потребовать некоторой настройки.
Вы спрашиваете, как создать URL-адрес ссылки или как получить комбинацию терминов? – 1Bladesforhire
получить комбинацию терминов – Sevi