Intereting Posts
Меню невидимо в панели администратора, но оно видимо в интерфейсе Как включить файлы ядра в плагин миниатюра сообщения, масштаб Главное меню – избавиться от титулов? Создание пользовательских сообщений типа post и привязка их к сообщению из другого настраиваемого типа сообщения В теме Woocommerce необходимо добавить пользовательскую внешнюю ссылку не удается получить доступ к wp-admin после переноса в openshift Параметры плагинов не сохраняются в базе данных в WP 4.5 Как выполнить мета-запрос с использованием REST-API в WordPress 4.7+? WordPress 3.1 – Как добавить липкие возможности для публикации сообщений Есть ли какие-либо действия, такие как «init_frontend» Пользовательские правила перезаписи Нужно ли нам переводить html в Javascript? Как? Запросы сообщений исключают целую категорию Оптимальный способ перенаправления домашней страницы в архив категорий?

Измените главный архив, чтобы показывать сообщения с мета как последними

У меня возникают проблемы с получением сообщений с meta_value, «проданных» как последний в основном запросе моего настраиваемого типа Post.

Самый лучший / самый простой способ, о котором я могу сейчас думать, – отфильтровать «проданные» сообщения из основного запроса и добавить пользовательский запрос только с «проданными» сообщениями в шаблоне. Но, честно говоря, это кажется таким уродливым, и должен быть лучший / более чистый способ.

Есть ли у кого-нибудь из вас что-то подобное? И как вы его решили? Хотелось бы подумать о лучшем способе решить эту проблему.

Благодаря!

Хорошо, я получил некоторый код, работающий, но все же не думаю, что это лучший способ сделать это, поэтому любые советы и подсказки очень приветствуются.

add_filter( 'posts_results', 'sold_at_last' ); function sold_at_last( $posts_array ) { $at_start = array(); $at_end = array(); if ( is_post_type_archive('objects') || is_tax( 'object_type' ) ) { if ( ! is_admin() ) { foreach ( $posts_array as $post ) { $status = get_field( 'status', $post->ID ); if ( $status == 'Verkocht' ) { $at_end[] = $post; } else { $at_start[] = $post; } } } } $new_posts_array = array_merge( $at_start, $at_end ); if ( ! empty( $new_posts_array ) ) { return $new_posts_array; } else { return $posts_array; }} 

Solutions Collecting From Web of "Измените главный архив, чтобы показывать сообщения с мета как последними"