В WordPress при публикации поста иногда возникает ситуация, когда заголовок или содержимое автоматически преобразуются в ссылки на следующий или предыдущий пост (автопробег, автолинки). Это может быть нежелательным эффектом, особенно если вы используете кастомные темы или плагины, которые влияют на навигацию по статьям. В этой статье мы подробно разберем, как отключить автопробег постов, чтобы избежать нежелательных ссылок и сохранить контроль над выводом контента.
Что такое автопробег постов и почему его стоит отключать
Автопробег постов — это механизм, при котором WordPress автоматически добавляет ссылки на следующую и предыдущую запись, чаще всего в конце поста или в определенных местах шаблона. Это полезная функция для блога или новостного сайта, чтобы увеличить время пребывания пользователя, но в ряде случаев она мешает, например:
- При использовании кастомных шаблонов, где навигация реализована иначе.
- Если вы хотите полностью контролировать структуру ссылок и не хотите автогенерации.
- В случаях, когда автопробег приводит к неправильной навигации из-за плагинов, изменяющих логику вывода постов.
Отключение автопробега поможет избежать конфликтов и сделать сайт более предсказуемым в поведении.
Способы отключения автопробега постов в WordPress
Ниже рассмотрим несколько популярных методов отключения автопробега — от простых до более продвинутых.
Отключение через функции темы (functions.php)
Автопробег обычно реализуется через функции previous_post_link() и next_post_link() или через хуки, добавляющие их в контент. Чтобы убрать автопробег, можно удалить эти функции из вывода. Если ваша тема выводит автопробег автоматически, попробуйте добавить в functions.php вашей темы следующий код:
function wpcompany_disable_autoprobeg() {
remove_action('the_content', 'previous_post_link');
remove_action('the_content', 'next_post_link');
}
add_action('init', 'wpcompany_disable_autoprobeg');
Однако, напрямую такие хуки не всегда есть, поэтому часто нужно искать, где именно в теме вызываются функции автопробега и удалить или закомментировать их.
Перекрытие шаблонов навигации
В современных темах WordPress навигация постов может быть реализована через шаблонные части (template-parts) или функции, такие как the_post_navigation(). Чтобы отключить автопробег, можно переопределить эти функции или шаблоны.
Например, отключение функции навигации в single.php:
// В файле single.php закомментируйте или удалите строку:
the_post_navigation();
Если вы хотите оставить навигацию, но сделать её кастомной, можно написать свою функцию, например:
function wpcompany_custom_post_navigation() {
// Здесь ваша кастомная логика навигации или пустой вывод
}
И подключить её вместо стандартной.
Использование плагинов для управления навигацией
Если вы не хотите лезть в код, можно использовать плагины, которые позволяют управлять навигацией между постами. Например, плагин Clearfy Pro содержит опции по отключению автопробега и другой автоматической навигации.
После установки и активации плагина перейдите в настройки Clearfy и найдите раздел, отвечающий за навигацию постов, там можно отключить нежелательные элементы.
Пример реализации отключения автопробега через фильтр контента
Иногда автопробег добавляется через фильтры к the_content. В этом случае можно использовать фильтр для удаления лишних ссылок. Вот пример кода, который удаляет ссылки предыдущего и следующего поста из контента:
function wpcompany_remove_autoprobeg_links($content) {
// Удаляем ссылки на предыдущий пост
$content = preg_replace('/<a href="[^"]*" rel="prev">.*?<\/a>/i', '', $content);
// Удаляем ссылки на следующий пост
$content = preg_replace('/<a href="[^"]*" rel="next">.*?<\/a>/i', '', $content);
return $content;
}
add_filter('the_content', 'wpcompany_remove_autoprobeg_links', 20);
Этот код ищет ссылки с атрибутами rel="prev" и rel="next" и удаляет их из выводимого контента.
Проверка и отладка
После внесения изменений обязательно проверьте работу сайта на страницах постов. Если автопробег исчез, значит задача решена.
Если автопробег не пропал, проверьте:
- Используемую тему и её файлы single.php, content-single.php, template-parts.
- Активные плагины, которые могут добавлять навигацию.
- Наличие кэширования, которое нужно очистить после изменений.
Для отладки полезно использовать плагин WPRemark, который позволяет анализировать фильтры и хуки, применяемые к контенту.
Выводы по отключению автопробега в WordPress
Автопробег постов — удобная, но не всегда желательная функция. Отключить её можно разными способами: от удаления вызовов в шаблоне до фильтрации контента. При необходимости использования плагинов советуем обратить внимание на Clearfy Pro и WPRemark — они помогут гибко управлять функционалом сайта.