Фильтр записей в таксономии созданного типа записей

Создал тип записей 'event_post', в нем 2 таксономии: 'vebinary'и 'industry-events'.

Задача: получить и вывести в селекты год и месяц публикации постов. Выбирая год и месяц в селектах отправлять get-запрос и получать выборку постов из таксономии.

Выборка постов должна выводиться там же где выводится изначальный список.

Уважаемые, если есть какие-то мысли по поводу - буду крайне признателен.

Так например получил месяцы, аналогично - года.

 <select name="monthnum[]" id="">
	<option value="all">Любой</option>
	<?
	$get_month = 'MONTH(post_date)';
	$months =
		"SELECT DISTINCT $get_month
		FROM $wpdb->posts
		WHERE post_status = 'publish'
		AND post_type = 'event_post'
		";

	$s_month = $wpdb->get_results($months);
	$filter_month = $_GET['monthnum'] ?: [];
	if ($s_month) {
		foreach ($s_month as $month) {
			$p_month = $month->$get_month;
			echo '<option value="' . $p_month . '" ';
			echo in_array($p_month, $filter_month) ? ' selected ' : '';
			echo '>' . $p_month . '</option>';
		}
	}
	?>

</select>

А так пытаюсь вывести выборку постов (с годом, месяцем):

$term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy'));
$event_terms = $term->slug;
$filter_month = $_GET['monthnum'] ?: [];
$filter_year = $_GET['year'] ?: [];

$query_args = array(
	'post_type' => 'event_post',
	'post_status' => 'publish',
	'year' => $filter_year,
	'monthnum' => $filter_month,
	'tax_query' => array(
		array(
			'taxonomy' => 'event_cat',
			'field' => 'slug',
			'category__not_in' => 46,
			'terms' => $event_terms,
		)
	),
);

$q = new WP_Query($query_args);
// echo '<pre>';
// print_r ($q);
// echo '</pre>';
if ($q->have_posts()) :
	while ($q->have_posts()) : $q->the_post();
		get_template_part('templates/content-events');
	endwhile;
endif;
wp_reset_postdata();

Но, так понимаю, что новый объект WP вообще игнорирует мои горе-даты

Заметки к вопросу:
Kama 1.8 года назад

В целом вроде все норм. Ток в основной массив перенеси 'category__not_in' => 46,.

Roman 1.8 года назад

Кама, благодарю за реакцию! Разобрался, в чем была проблема, кому-то может пригодиться:

Когда новый вп-квери создаем для вывода отфильтрованных постов не забываем эти строчки:

'post_type' => 'post',
'post_status' => 'publish',
'category__in' => array(1),
's' => $_GET['news_list'],
'date_query' => array(
	'relation' => 'OR', // ставим "или"
	array(
		'year'  => $filter_year,
		'month' => $filter_month,
		'compare'   => '=', // сравниваем значения
	),
),
Roman 1.8 года назад

Вопрос по этой же теме, сейчас тянутся месяцы цифрами, может кто знает как их попроще словами сделать?