Aa, который Вы знаете, с WP3.0 существуют опции для пользовательских расширенных запросов, который является большим. С этого некоторые параметры запроса пользовательских полей как meta_key, meta_value удерживались от использования для нового meta_query параметра (см. здесь),
Я пытаюсь иметь довольно простой запрос с новым синтаксисом, сообщения запроса определенным post_type (сервисы), который содержит указанный meta_key (order_in_archive) - это подходит как ожидалось. Но - я хочу к orderby запрос meta_value, и без успеха.
Это - мой запрос -
query_posts(
array( 'post_type' => 'services',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_query' => array(
array('key' => 'order_in_archive'))
)
);
Я попробовал orderby также meta_value_numeric и meta_value, но в любом случае результаты заказываются годом издания (как обычные сообщения делают). Кто-либо знает, как это может быть сделано?
Спасибо
Можно определить метаклавишу для orderby параметра с помощью старого метода (я протестировал на WP 3.1.1)...
query_posts(
array( 'post_type' => 'services',
'order' => 'ASC',
'meta_key' => 'some_key',
'orderby' => 'meta_value', //or 'meta_value_num'
'meta_query' => array(
array('key' => 'order_in_archive',
'value' => 'some_value'
)
)
)
);
Кодекс WP на самом деле сбивает с толку при рассмотрении этой проблемы.
Вам на самом деле не нужен meta_query параметрический усилитель для использования orderby, вместо этого он использует meta_key параметрический усилитель, который, хотя Кодексом WP удерживается от использования, является, был установлен здесь: Как Вы используете orderby с meta_query в Wordpress 3.1? этому orderyby все еще нужен meta_key.
таким образом, это должно быть
query_posts( array(
'post_type' => 'services',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_key' => 'order_in_archive'
) )
Я нашел, что это работало вполне хорошо.
<?php
query_posts(
array( 'posts_per_page' => '-1',
'post_type' => 'services',
'order' => 'DESC',
'meta_key' => '_order',
'orderby' => 'meta_value_num', //or 'meta_value_num'
)
);
meta_query
параметр и получение orderby
работать с ним, а не о более старом, но все еще функциональный meta_key
/meta_value
параметры. Кроме того, давайте не поощрять использование query_posts
. микросхема
– s_ha_dum
28.12.2012, 21:55