Могу ли я использовать get_adjacent_post для определенных категорий?

Я хочу получить следующие и предыдущие сообщения, основанные на определенных клонах категории. Например, некоторые должности могут иметь категорию «спорт», а другая – «техническая».

Я надеялся подключить категорию slug в get_adjacent_post но не кажется, что он работает. Похоже, он просто хочет использовать «категорию» слипа или, может быть, обычную таксономию, а не пули в таксономии «категории».

Вот пример того, что я пытался сделать:

 $adj = get_adjacent_post(true, '', true, 'sports'); 

Solutions Collecting From Web of "Могу ли я использовать get_adjacent_post для определенных категорий?"

То, что вы называете «слизнями» здесь, более справедливо называют терминами . Это немного путает с местными таксономиями, потому что оно превращается в тавтологию: отдельные категории – это термины таксономии категории.

Таким образом, sports и tech – это терминология таксономии родной category .

Аргументы функции действуют на уровне таксономии , а не на уровне термина . То есть вам нужно предоставить таксономический слизень, такой как category , и все термины в этой таксономии будут рассматриваться для соответствия.

С точки зрения аргументов, один из вариантов здесь – использовать аргумент $excluded_terms чтобы исключить все, кроме одного слова, которое вы хотите.

Кроме того, это довольно низкоуровневая функция, которая напрямую генерирует множество пользовательских SQL. Есть множество фильтров для манипулирования этой частью процесса, например get_{$adjacent}_post_join и get_{$adjacent}_post_where , но это не то, что я бы назвал легко регулируемым.

Согласно документации для get_adjacent_post() , параметры:

$in_same_term (bool) (необязательно) Должен ли пост быть в том же таксономии.
Значение по умолчанию: false

$excluded_terms (массив | строка) (необязательно). Список идентификаторов исключенного члена, разделенных запятыми.
Значение по умолчанию: ''

$previous (bool) (Необязательно) Извлечение предыдущего сообщения.
Значение по умолчанию: true

$taxonomy (строка) (необязательно) Таксономия, если $in_same_term true .
Значение по умолчанию: 'category'

Параметр $taxonomy – это то, что вы можете указать, какая таксономия (категория, тег или пользовательская таксономия) вы хотите использовать для выбора смежного поста.

Таким образом, нет, похоже, вы не можете указать термин таксономии (например, sports или tech в своем вопросе).