wp-запрос для популярного сообщения с простым полем

Я использовал плагин простых полей для одного поля добавления (премиум-сообщения), и теперь мне нужно изменить популярный виджет сообщений. Мне нужно, чтобы все популярные пост исключить премиум пост.

То, что я пробовал до сих пор,

исходный запрос,

$popularposts = new WP_Query('showposts=5&meta_key=post_views_count&orderby=meta_value_num&order=DESC&ignore_sticky_posts=1') 

отредактированный запрос,

 $args1 = array( 'showposts' => 5, 'ignore_sticky_posts' => 1, 'meta_query' => array( array( 'key' => 'post_views_count', 'orderby' => 'meta_value_num', 'order' => DESC ), array( 'key' => '_simple_fields_fieldGroupID_2_fieldID_1_numInSet_0', 'compare' =>'NOT EXISTS' ), ), ); $popularposts = new WP_Query($args1); 

Но он не дает ожидаемых результатов, он исключает сообщения премиум-класса (поле: _simple_fields_fieldGroupID_2_fieldID_1_numInSet_0 ), но оно не сортируется по post_view_counts .

Любая помощь была бы оценена.

Solutions Collecting From Web of "wp-запрос для популярного сообщения с простым полем"

Правильный запрос:

 $args1 = array( 'showposts' => 5, 'ignore_sticky_posts' => 1, //ORDER ARGUMENTS 'meta_key' => 'post_views_count', 'orderby' => 'meta_key_num', 'order' => 'DESC', //META QUERY 'meta_query' => array( array( 'key' => '_simple_fields_fieldGroupID_2_fieldID_1_numInSet_0', 'compare' =>'NOT EXISTS' ), ), ); $popularposts = new WP_Query($args1); 

Агенты заказов всегда находятся вне meta_query , см. meta_query .

Вы не можете сортировать внутри meta_query . Параметры сортировки недопустимы внутри meta_query .

Вам нужно будет переместить параметры сортировки вне meta_query и не забудьте установить meta_key которая будет использоваться для сортировки

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

  • WP_Query пользовательского поля WP_Query

  • WP_Query заказа WP_Query и параметры заказа