2015-11-26 2 views
0

У меня есть запрос, как это:Wordpress сортировать таможенный пост типа нестандартного полем

$args = array(
      'post_type' => 'proof_gallery', 
      'post_status' => 'publish', 
      'posts_per_page' => 12, 
      'orderby' => 'meta_value', 
      'meta_key' => '_pixproof_event_date', 
      'order' => 'DESC', 
      'paged' => $paged 
     ); 
     $wp_query = new WP_Query($args); 

Столбы должны быть отображены по дате события, но они получают отображаются в случайном порядке. Как только я изменю orderby на «ID» (и удалю meta_key), он работает отлично.

Может ли кто-нибудь увидеть, что случилось? Я застрял здесь. Он должен работать в соответствии с различными ресурсами, которые я нашел до сих пор.

+0

Can [это сообщение] (http://stackoverflow.com/questions/18261230/sort-wp-query-by- мета-ценность) помощь? –

ответ

0

От Wordpress Codex

meta_value»- Обратите внимание, что 'meta_key = имя_раздела' также должен присутствовать в запросе. Также обратите внимание, что сортировка будет в алфавитном порядке, которая является штрафом для строк (т.е. слов), но может быть неожиданным для чисел (например, 1, 3, 34, 4, 56, 6 и т. Д., А не 1, 3, 4, 6, 34, 56, как вы могли бы естественно ожидать). Вместо этого используйте «meta_value_num» для числовых значений. Вы также можете указать «meta_type», если вы хотите отличить мета значение как определенного типа. Возможные значения: «NUMERIC», «BINARY», «CHAR», «DATE», «DATETIME», «DECIMAL», «SIGNED», «TIME», «UNSIGNED», то же, что и в «$ meta_query».

'meta_value_num' - Заказ по числовому метазначению (доступно с Версия 2.8). Также обратите внимание, что в запросе также должно присутствовать «meta_key = keyname» . Это значение позволяет для численной сортировки, как указано выше, в 'meta_value'.

но может быть неожиданным для чисел (например, 1, 3, 34, 4, 56, 6, и т.д., а не 1, 3, 4, 6, 34, 56, как вы можете естественно ожидать).

Вы должны попробовать использовать meta_value_num как ваша мета кажется, быть датой

+0

спасибо. Я пробовал как meta_value, так и meta_value_num. я узнал, что _pixproof_event_date, кажется, быть строкой, и, таким образом, посты упорядочиваются таким образом: 01.08.2015 01.09.2015 и так далее. теперь я не наполовину достойный программист, так может кто-нибудь помочь мне разобраться в этом? –

+0

Вы пытались добавить '' '' meta_type''' в свой запрос и установить DECIMAL или DATE? Возможными значениями '' 'meta_type''' являются' '' 'NUMERIC ',' BINARY ',' CHAR ',' DATE ',' DATETIME ',' DECIMAL ',' SIGNED ',' TIME ',' UNSIGNED''' ' – silver

+0

Можете ли вы объяснить это дальше? Я никогда не слышал о WP_Meta_Query. Что мне делать с моим запросом? –

Смежные вопросы