@id_baton4eg

Как сравнить значения meta_query?

Всем привет, помогите пожалуйста разобраться - что делаю не так, пытаюсь построить цикл WP на базе значения произвольного поля. В моём случае это дата в формате (dmY), из формы получаю значение переменной в таком же формате (dmY) пытаюсь их сравнить как просто числа на идентичность.

В таком виде цикл работает корректно выводя все записи в которых есть ключ "event_date"
$args = array(
	                    'post_type'  => 'treatments', // or your_custom_post_type
	                    'meta_query' => array(
		                    array(
			                    'key'     => 'event_date',
			                    'compare' => 'EXISTS',
		                    )
	                    )
                    );
                    // create a custom query
                    $my_query = new WP_Query( $args );


А в таком виде не выводит абсолютно ничего:
$args = array(
	                    'post_type'  => 'treatments', // or your_custom_post_type
	                    'meta_query' => array(
		                    array(
			                    'key'     => 'event_date',
			                    'value'   => '20122017', //Такое значение ключа 100% существует
			                    'type'    => 'NUMERIC',
			                    'compare' => '=',
		                    )
	                    )
                    );
                    // create a custom query
                    $my_query = new WP_Query( $args );


Я понимаю, что т.к. вопрос касается дат возможно начнет подниматься вопрос о том, что дата в не верном формате, но я пытаюсь сравнить именно значения (цифры)
  • Вопрос задан
  • 358 просмотров
Решения вопроса 1
@id_baton4eg Автор вопроса
В лушчих традициях, сам спросил - сам ответил, выкладываю для таких же как и я, с цифрами у меня запустить не удалось, пришлось всё же ковырять форматы даты.

$treatments = get_posts(array(
		            'post_type'   => 'treatments',
		            'post_status' => 'publish',
		            'posts_per_page' => -1,  // get all posts
		            'meta_query'  =>  array(
			            array(
				            'key'     => 'event_date',
				            'value'   => date_format($date, 'Y-m-d'),
				            'type' => "DATE",
				            'compare' => '=',
			            ),
		            ),
	            ));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы