С момента обновления до Wordpress 4.2 мои пользовательские wp_query, которые имеют сортировку по настраиваемому полю, больше не работают. Я прочитал этот пост: https://make.wordpress.org/core/2015/03/30/query-improvements-in-wp-4-2-orderby-and-meta_query/, но он недостаточно подробен, чтобы показать, как сортировать по настраиваемому полю, которое не является частью мета-запроса.Wordpress 4.2 как сортировать по настраиваемому полю
Кто-нибудь знает, как я хотел бы изменить этот запрос, чтобы работать с Wordpress 4.2:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'custom',
'post_status' => 'publish',
'posts_per_page' => '12',
'paged' => $paged,
'orderby' => array('meta_value_num' => 'ASC',
'date' => 'DESC'),
'meta_key' => 'wpcf-status'
);
$items = null;
$items = new WP_Query($args);
Это то, что результаты запроса теперь показывает в 4.2:
SELECT SQL_CALC_FOUND_ROWS xxx_posts.ID
FROM xxx_posts
INNER JOIN xxx_postmeta ON (xxx_posts.ID = xxx_postmeta.post_id)
WHERE 1=1 AND xxx_posts.post_type = 'custom'
AND ((xxx_posts.post_status = 'publish'))
AND (xxx_postmeta.meta_key = 'wpcf-status')
GROUP BY xxx_posts.ID
ORDER BY xxx_postmeta.meta_value+0 ASC,
xx_posts.post_date DESC LIMIT 0, 12
Спасибо за любую помощь на это.
Привет, Это используется для работы в WP 4.1, но он не работает в WP 4.2. Кроме того, мне нужно сортировать по 2 полям, а не только в настраиваемом поле. – LJK