Intereting Posts
Линейные игры ведут себя странно внутри блочных комментариев Как я могу использовать этот код в таблице пользовательских баз данных? Виджеты в WP 4.3 исчезают – как исправить? get_header и hook, чтобы избежать обычного вызова Тематические разделы Несколько блогов, разные имена доменов, одна установка, чтобы управлять ими всеми Как я могу реализовать функцию «Добавить в коллекцию» в моей галерее изображений, которая будет загружена позже? Как получить список сообщений с пустым содержимым Включить кнопку загрузки файлов внутри сообщения и файла процесса Как переопределить языковые файлы родительской темы с дочерней темой? Запрос сообщений с использованием JSON API Общие категории для двух пользовательских типов сообщений Пользовательские сообщения с страницами WordPress с одинаковым URL-адресом Запретить пользователя и завершить сеанс страница типа персонализированного сообщения

Meta_query странное поведение

У меня есть настраиваемое поле, называемое date_from . Даты сохраняются в формате yymmdd (например, 20131104). Когда я использую meta_query для поиска сообщений в определенном диапазоне дат, запрос работает так, как ожидалось, но когда я использую meta_query для поиска сообщений, у которых значение date_from больше указанного значения, это не так. Это значит; он не возвращает сообщения, хотя я точно знаю, что это нужно. Я не могу понять, что я делаю неправильно …

Это работает:

 $month = date('m'); $start_date = date( 'Y' . $month . '01' ); $end_date = date( 'Y' . $month . 't' ); $meta_query = array( 'key' => 'date_from', 'value' => array($start_date, $end_date), 'compare' => 'BETWEEN', 'type' => 'DATE' ); args = array( 'post_type' => 'events', 'post_status' => 'publish', 'posts_per_page' => 20, 'paged' => $paged, 'meta_query' => array($meta_query), 'meta_key' => 'date_from', 'orderby' => 'meta_value', 'order' => 'ASC', ); $query = new WP_Query($args); 

И это не так:

 $today = date("Ymd"); $meta_query = array( 'key' => 'date_from', 'value' => $today, 'compare' => '>=', 'type' => 'DATE' // I've also tried type => 'NUMERIC' ); args = array( 'post_type' => 'events', 'post_status' => 'publish', 'posts_per_page' => 20, 'paged' => $paged, 'meta_query' => array($meta_query), 'meta_key' => 'date_from', 'orderby' => 'meta_value', 'order' => 'ASC', ); $query = new WP_Query($args); 

И он работает, когда я использую:

 $args = array( 'post_type' => 'events', 'post_status' => 'publish', 'posts_per_page' => 20, 'paged' => $paged, 'meta_key' => 'date_from', 'meta_value' => $today, 'meta_compare' => '>', 'orderby' => 'meta_value', 'order' => 'ASC' ); 

Почему это? Я не могу использовать $meta_query = array(...) чтобы найти сообщения, у которых дата больше заданного значения? Кажется действительно странным, потому что, когда я использую точно такие же значения непосредственно в $args он работает.