Intereting Posts
ошибка разбивки на страницы в таксономии: предупреждение: деление на ноль Условное значение для одного – {post-type} .php comment_post_ID 0 (невозможно удалить из панели управления) Будут ли несколько групп BuddyPress замедлять работу сайта? Как вставить HTML / CSS / JS в мой плагин iframe? фильтр содержимого (add_filter) для описания категории? wp_enqueue_scripts не вызывается на странице поиска? Как загружать js на страницы post-new.php и post.php в admin? WP-CLI Bulk удалить сообщения из определенной категории Отображение всех сообщений и пользовательских типов сообщений с использованием одной категории Приложение в WordPress не подходит для мобильного экрана Я не могу enqueue Suggest.js в frontend – не добавил Отображение содержимого отдельной публикации Как сохранить новые переходные процессы при изменении запроса? Как генерировать числа, неотличимые от идентификаторов сообщений

Как заказать соседние сообщения (prev / next) с помощью настраиваемого значения поля?

Я использую плагины More Fields и More Types для создания пользовательского типа типа, называемого product . Этот настраиваемый тип основан на типе Post .

Одно из полей называется lot которое является целым числом, представляющим лот № для аукциона.

Я создал страницу пользовательской категории, которая генерирует список ссылок для каждой lot , упорядоченной по полю lot . Это отлично работает.

 $args = array( 'post_type' => array('product'), 'cat' => 3, 'meta_key' => 'lot', 'orderby' => 'meta_value_num', 'order' => 'ASC' ); 

Однако … когда вы нажимаете на один из лотов, ссылки «Предыдущее и последующее сообщение» больше не упорядочиваются по полю lot , они упорядочиваются по дате публикации (это WP по умолчанию). Я пытаюсь выяснить, как я могу изменить этот порядок сортировки по умолчанию для previous_post_link() и next_post_link() чтобы использовать пользовательскую поле в поле вместо публикации даты.

Solutions Collecting From Web of "Как заказать соседние сообщения (prev / next) с помощью настраиваемого значения поля?"

Вы можете отфильтровать SQL для изменения вашего условия в get_adjacent_post() ( source ):

 $sort = apply_filters( "get_{$adjacent}_post_sort", "ORDER BY p.post_date $order LIMIT 1" ); 

Или вообще ссылку на фильтрацию в adjacent_post_link() ( источник ):

 echo apply_filters( "{$adjacent}_post_link", $format, $link ); 

next PS $adjacent может быть next или previous .