Функция get_adjacent_post() в WordPress
Функция get_adjacent_post() используется в WordPress для получения объекта соседнего поста — следующего или предыдущего — из определенной таксономии, например, категории. Однако нельзя получить одновременно следующий и предыдущий пост.
Зачем использовать эту функцию?
Эта функция позволяет удобно создавать навигацию между постами на вашем сайте. Например, можно легко добавлять ссылки на следующий и предыдущий посты, что улучшает пользовательский опыт.
Как эта функция работает?
Функция принимает несколько параметров:
get_adjacent_post( $in_same_term, $excluded_terms, $previous, $taxonomy );
$in_same_term(boolean) — нужно ли, чтобы пост был в той же таксономии. По умолчанию:false.$excluded_terms(array|string) — массив или строка с уникальными ID таксономий, которые нужно исключить. По умолчанию: пустая строка.$previous(boolean) — нужно ли получить предыдущий пост. По умолчанию:true(то есть если вы не укажете, будет получен именно предыдущий пост).$taxonomy(string) — таксономия, если$in_same_termустановлено вtrue. По умолчанию:'category'.
Пример использования функции
Получение ссылки на следующий пост:
$next_post = get_adjacent_post( 0, '', 0 );
if( $next_post ){
echo ''. get_the_title( $next_post ) .'';
}
Получение ссылки на предыдущий пост:
$prev_post = get_adjacent_post();
if( $prev_post ){
echo ''. get_the_title( $prev_post ) .'';
}
Что возвращает функция?
Функция get_adjacent_post() возвращает одно из следующих значений:
- WP_Post — объект поста в случае успеха;
- null — если глобальная переменная
$postне установлена; - пустая строка — если нет подходящего поста.
Важные моменты
- Функция поддерживает фильтры, которые позволяют изменять поведение функции, такие как исключение таксономий и условия выбора. Например:
get_next_post_excluded_termsget_previous_post_excluded_terms
Вы можете использовать эти фильтры для настройки функции на ваше усмотрение.
Примечание
Функция использует глобальный объект базы данных WordPress $wpdb.
Основные изменения
Функция была введена в версии WordPress 2.5.0.
Связанные функции
С get_adjacent_post() связаны и другие функции, которые могут быть полезны:
get_next_post()— для получения следующего поста.get_previous_post()— для получения предыдущего поста.get_adjacent_post_link()— для получения HTML-ссылки на соседний пост.
Вы можете использовать эти функции для расширения навигации на своем сайте WordPress.
В заключение, функция get_adjacent_post() — мощный инструмент для улучшения навигации по вашему контенту и предоставляет пользователям удобный способ перемещения между постами.