Wordpress сортирует пользовательские записи таксономии по значению настраиваемого поля - PullRequest
0 голосов
/ 22 марта 2019

У меня есть пользовательская страница таксономии, которая запрашивает пользовательские типы записей, приписываемые этой таксономии, в моем случае пользовательский тип записей - "автомобили", а страница примера таксономии - "исключительные автомобили" или "кабриолет".

На странице таксономии "taxonomy-luxury-cars.php" мне нужно отобразить записи, упорядоченные по настраиваемому полю "display_order", но я не могу отобразить записи в правильном порядке.

По сути, все, что мне нужно, это вставить orderby "display_order" (настраиваемое поле) перед циклом "while have posts", чтобы изменить порядок сообщений.

Я пробовал многочисленные фрагменты, найденные в Интернете, но ни один из них не работает правильно.

Фрагмент 1 (только перечисляет все сообщения "автомобили", но мне это нужно только для сообщений текущей таксономии)

$posts = get_posts(array(
    'post_type'         => 'cars',
    'posts_per_page'    => -1,
    'meta_key'          => 'display_order',
    'orderby'           => 'meta_value_num',
    'order'             => 'ASC'
));

Фрагмент 2

   $terms = get_the_terms( get_the_ID(), 'luxury-cars' );
    foreach($terms as $term) {
        $posts = get_posts(array(
                'post_type' => 'cars',
                'tax_query' => array(
                    array(
                        'meta_key'  => 'display_order',
                        'orderby'   => 'meta_value_num',
                        'order'     => 'ASC'
                    )
                ),
                'numberposts' => -1
            ));
        foreach($posts as $post) {
            echo get_the_title();
        }
    }

Фрагмент 3

$queried_object = get_queried_object();
$args = array(
        'post_type'     => 'cars',
        'term'          => $queried_object->slug,
        'orderby'       => 'meta_value_num',
        'order'         => 'ASC',
        'meta_key'      => 'display_order',
        'meta_query'    => array(
            array(
                'key'       => 'display_order'
            )
        ),
        'tax_query'     => array(
            array(
                'taxonomy'  => 'luxury-cars',
                'terms'     => array(
                    $queried_object->term_id
                )
            )
        )
    );
$query = new WP_Query($args);

while ( have_posts() ) : the_post();

...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...