Как передать meta_value в сообщениях запроса WordPress

#php #wordpress

#php #wordpress

Вопрос:

Я хочу передать meta_value в сообщениях запроса в WordPress.

Здесь я пробовал кодировать, но не работает.

 <?php
           $db_highest = $wpdb->get_results($wpdb->prepare("SELECT meta_value
FROM wp_postmeta
WHERE meta_key = 'rating_count'
ORDER BY `wp_postmeta`.`meta_value` DESC
LIMIT 0 , 1000")); 

  global $wp_query;

               query_posts(array(

                    'paged' => $wp_query->get('paged'),

                    'post_type' => array('company'),


                    'posts_per_page' => $opt_metrodir_company_list_count,

                    'meta_query' => array(

                      'meta_value' => $db_highest

            ));


           ?>
  

Я хочу использовать запрос meta_value, чтобы я получал количество значений рейтинга в порядке убывания, например 10,8,5,4,3,2,1
Я хочу отображать сообщения с самым высоким рейтингом.
если я напечатаю_r ($ db_highest); тогда это отобразит результаты ниже.

 Array
(
    [0] => stdClass Object
        (
            [meta_value] => 2
        )

    [1] => stdClass Object
        (
            [meta_value] => 2
        )

    [2] => stdClass Object
        (
            [meta_value] => 2
        )

    [3] => stdClass Object
        (
            [meta_value] => 2
        )

    [4] => stdClass Object
        (
            [meta_value] => 1
        )

    [5] => stdClass Object
        (
            [meta_value] => 1
        )

    [6] => stdClass Object
        (
            [meta_value] => 1
        )

    [7] => stdClass Object
        (
            [meta_value] => 1
        )

    [8] => stdClass Object
        (
            [meta_value] => 
        )

)
  

Итак, в итоге мой результат будет таким

 query_posts(array(

                    'paged' => $wp_query->get('paged'),

                    'post_type' => array('company'),


                    'posts_per_page' => $opt_metrodir_company_list_count,

                    'meta_query' => array(

                      'meta_value' => array(2,2,2,2,1,1,1,1)

                        ));
  

Комментарии:

1. итак, вы хотите преобразовать print_r($ db_highest); в массив (2,2,2,2,1,1,1,1)??

2. Я хочу отображать сообщения компании в порядке рейтинга, например, самый высокий на первом месте.

3. Пожалуйста, примените функцию array_unique