Если в JournalX бесконечный скролл удобен для главной ленты, то на архиве автора он часто мешает: сложнее дать ссылку на конкретную страницу, труднее контролировать индексацию, а пользователи не всегда понимают, где заканчивается список записей. В такой ситуации обычно проще оставить infinite scroll для ленты, но на странице автора вернуть обычную пагинацию.
Когда проблема действительно в бесконечном скролле
Симптомы обычно одинаковые: архив автора подгружается без явной границы страниц, URL не меняется предсказуемо, а в аналитике сложно понять, сколько контента реально просмотрели. Иногда это проявляется и в SEO: поисковому роботу проще работать с последовательными страницами архива, чем с бесконечной подгрузкой, если она не настроена аккуратно.
Прежде чем что-то менять, проверьте три вещи:
- на странице автора действительно включен infinite scroll именно темой, а не отдельным плагином;
- в шаблоне архива есть стандартная пагинация WordPress, а не полностью кастомная подгрузка;
- в настройках JournalX нет отдельного переключателя для архивов авторов, который уже решает задачу без кода.
Диагностика: что именно подгружается на архиве автора
Откройте страницу автора и посмотрите исходный HTML и сетевые запросы в DevTools. Если при прокрутке появляются запросы к административному AJAX-обработчику или к REST API, значит подгрузка идет через механизм темы или плагина. Если же внизу уже есть обычные ссылки на страницы, но они скрыты стилями, задача сводится к отключению скрипта и возврату видимой пагинации.
Полезно также проверить, не ломает ли тему дочерняя тема или кастомный код. Иногда разработчики уже добавляли фильтры для архивов, и тогда повторное отключение скролла даст неожиданный результат: пустой список, дубли запросов или двойную пагинацию.
Пошаговое решение: отключаем infinite scroll только для архивов авторов
Самый безопасный путь — делать это в дочерней теме или в небольшом mu-plugin. Тогда обновление JournalX не затрёт изменения. Ниже пример, который отключает бесконечный скролл на архиве автора через фильтр, если тема его предоставляет, и дополнительно подстраховывает вывод пагинации.
<?php
/**
* Отключаем бесконечный скролл на архиве автора.
* Добавьте в functions.php дочерней темы или в mu-plugin.
*/
add_action( 'after_setup_theme', function () {
if ( is_author() ) {
// Если JournalX использует фильтр для включения infinite scroll,
// можно вернуть false только на архиве автора.
add_filter( 'journalx_infinite_scroll_enabled', function( $enabled ) {
if ( is_author() ) {
return false;
}
return $enabled;
} );
}
} );
/**
* Подстраховка: выводим стандартную пагинацию WordPress, если тема её не показывает.
*/
add_action( 'loop_end', function ( $query ) {
if ( is_admin() || ! $query->is_main_query() || ! is_author() ) {
return;
}
global $wp_query;
if ( $query !== $wp_query ) {
return;
}
echo '<nav class="archive-pagination" aria-label="Пагинация архива">';
echo paginate_links( array(
'total' => $query->max_num_pages,
'current' => max( 1, get_query_var( 'paged' ) ),
) );
echo '</nav>';
}, 20 );
Этот пример намеренно не привязан к несуществующим API. Ключевой момент здесь в том, что фильтр journalx_infinite_scroll_enabled стоит использовать только если он реально есть в вашей версии темы. Если в JournalX такого фильтра нет, отключение делается другим способом: через настройки темы, через удаление скрипта или через переопределение шаблона архива автора.
Если у темы нет готового фильтра
Тогда ищите, какой скрипт отвечает за подгрузку. Обычно это видно в исходниках темы или в подключаемых файлах JavaScript. После этого можно отключить его только на архиве автора. Пример ниже показывает общий подход: снимаем регистрацию скрипта на нужной странице и оставляем стандартную пагинацию.
<?php
add_action( 'wp_enqueue_scripts', function () {
if ( is_author() ) {
wp_dequeue_script( 'journalx-infinite-scroll' );
wp_deregister_script( 'journalx-infinite-scroll' );
}
}, 100 );
Здесь важно заменить journalx-infinite-scroll на реальный handle скрипта из вашей установки. Его можно посмотреть в коде темы или через поиск по wp_enqueue_script.
Сравнение подходов: плагин, код или правка шаблона
| Подход | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| Настройка темы | Если в JournalX есть отдельный переключатель для архивов | Без кода, меньше риска | Не всегда есть нужная гранулярность |
| Код в дочерней теме | Если нужен контроль только для архива автора | Точно и прозрачно | Нужно проверить хуки и handles |
| Правка шаблона | Если тема не даёт фильтров и скрипты жёстко зашиты | Полный контроль над выводом | Сложнее сопровождать после обновлений |
Проверка результата после внедрения
После изменения откройте архив автора в приватном окне и проверьте:
- страница не подгружает новые записи при прокрутке;
- внизу видны ссылки на следующую и предыдущую страницы архива;
- URL меняется на
/page/2/,/page/3/и т. п.; - в DevTools нет лишних AJAX-запросов при скролле;
- контент первой страницы совпадает с тем, что был до изменения.
Если вы работаете с SEO, дополнительно проверьте, что canonical и robots meta для архивов авторов не конфликтуют с пагинацией. Сам по себе переход на обычные страницы не решает все вопросы индексации, но делает структуру архива предсказуемее.
Частые ошибки и как их исправить
Пагинация есть в HTML, но не видна на странице
Обычно это CSS-проблема. Тема может скрывать блок пагинации, если включён infinite scroll. Проверьте стили вроде display: none, visibility: hidden или нулевые отступы. Иногда достаточно переопределить один класс в дочерней теме.
Скролл отключили, но записи перестали подгружаться вообще
Это значит, что вы отключили не только infinite scroll, но и сам вывод архива. Частая причина — слишком агрессивный wp_dequeue_script или неверный фильтр. Сначала отключайте только механизм подгрузки, а не шаблон архива целиком.
Появились дубли страниц архива
Так бывает, если одновременно работают и тема, и плагин пагинации, или если в шаблоне остался старый AJAX-контейнер. Уберите второй механизм подгрузки и проверьте, что на странице автора остался один источник списка записей.
Изменение слетело после обновления темы
Значит, правка была внесена в родительскую тему. Перенесите код в дочернюю тему или mu-plugin. Для таких задач это не формальность, а нормальный способ не потерять настройку после апдейта.
Что ещё стоит проверить для производительности и безопасности
Если на архиве автора много записей, обычная пагинация часто работает стабильнее и дешевле по ресурсам, чем бесконечная подгрузка. Это особенно заметно на сайтах с тяжёлыми карточками, блоками рекламы или встроенными видео. В таком случае имеет смысл отдельно проверить кэширование страниц архива и не тянуть на них лишние скрипты.
Если вы используете дополнительные плагины оптимизации, не отключайте их вслепую. Сначала убедитесь, что проблема именно в infinite scroll JournalX. Для чистки дублей и технической оптимизации в экосистеме WPShop иногда используют Clearfy Pro, но в этой задаче он не обязателен: сначала лучше решить вопрос штатным способом темы или точечным кодом.
Когда всё настроено правильно, архив автора становится проще для пользователя и предсказуемее для поддержки: есть страницы, есть ссылки, есть понятный контроль над индексацией и нет лишней фоновой подгрузки там, где она не нужна.