Intereting Posts
Загружать больше сообщений с несколькими запросами Почему разбиение на страницы всегда прерывается при использовании на любой форме домашней страницы? add_theme_support ('title-tag') в конфликте с пользовательскими функциями заголовков Заказывать сообщения с помощью метаданных, скрывая сообщения вместо переупорядочения Как добавить ссылку (href), поэтому, когда я нажимаю на нее, она отображает (показывает все) сообщения пользовательского типа сообщений (rich_media) из текущей категории? Пользовательский реестр Как добавить HTML в вывод the_excerpt () & the_content ()? Добавьте the_post_thumbnail_url в короткий код в function.php Получить отрывок из сообщения, созданного автором Принудительное wordpress для запроса информации о FTP на тему / установка / обновление плагина Можно ли удалить один плагин из другого плагина? Можно ли использовать намерения Twitter с изображением почты в WordPress? Загрузка частичных шаблонов с помощью AJAX / PJAX Кто-нибудь эффективно интегрировал рейтинг звезд GD и Cube Points? Расширьте WP Customizer, чтобы сделать возможным выбор нескольких изображений

Запросы и заказы по пользовательским полям

Я пытаюсь запросить пользовательский тип сообщения «jogos», где мета значение «data_de_lancamento» (дата запуска) <=, чем сегодня. В этом поле используется формат dd / mm / yy.

Затем возвращаемые сообщения из этого запроса должны быть упорядочены. Спуск по пользовательскому полю «views».

Мой текущий код:

date_default_timezone_set('Europe/Lisbon'); $data = date("d/m/y"); global $wpdb; $sql = "SELECT wposts.* FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta, $wpdb->postmeta wpostmeta2 WHERE wposts.ID = wpostmeta.post_id AND wposts.ID = wpostmeta2.post_id AND wpostmeta.meta_key = 'views' AND wpostmeta2.meta_key = 'data_de_lancamento' AND wpostmeta2.meta_value < $data AND wposts.post_type = 'jogos' AND wposts.post_status = 'publish' ORDER BY wpostmeta.meta_value ASC"; $resultado = $wpdb->get_results($sql, OBJECT); 

Solutions Collecting From Web of "Запросы и заказы по пользовательским полям"

При выполнении запроса необходимо использовать параметр meta_query WP_Class. Что-то вроде этого должно указывать на вас в правильном направлении.

 $data = date("Ymd"); $args = array( 'post_type' => 'jogos', 'meta_query' => array( array( 'key' => 'data_de_lancamento', 'value' => $data, 'compare' => '<=' ) ), 'meta_key' => 'views', 'orderby' => 'meta_value', 'order' => 'DESC' ); $query = new WP_Query( $args ); 

Уловка заключается в том, что сравнивать даты в формате «dd / mm / yy» почти невозможно. Таким образом, этот код не будет делать трюк. Вам нужно сначала изменить формат даты на «yyyy-mm-dd». Это гораздо более полезный способ сравнения даты. Кроме того, вам может потребоваться провести некоторое тестирование с оператором, чтобы убедиться, что он работает правильно.

Обратите внимание, что я указываю использование meta_query которое является новым для WP 3.1. meta_key и meta_value устарели от WP 3.1; однако для заказа по meta_value вам все равно нужно указать meta_key как значение, которое вы хотите заказать. Сбивает с толку и плохо документируется.

Рекомендации:

http://codex.wordpress.org/Function_Reference/WP_Query#Custom_Field_Parameters

http://codex.wordpress.org/Function_Reference/WP_Query#Order_.26_Orderby_Parameters