Функция get_adjacent_post() в WordPress: навигация между постами

Функция 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_terms
    • get_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() — мощный инструмент для улучшения навигации по вашему контенту и предоставляет пользователям удобный способ перемещения между постами.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *