У меня есть пользовательская страница таксономии, которая запрашивает пользовательские типы записей, приписываемые этой таксономии, в моем случае пользовательский тип записей - "автомобили", а страница примера таксономии - "исключительные автомобили" или "кабриолет".
На странице таксономии "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();
...