Как изменить количество записей на странице автора wordpress?

Ссылка скопирована
1 ответ

сайт stihi.by
используется плагин Ultimate Member, как сделать так, чтобы на странице автора отображалось больше десяти записей на страницу? )

Дополнительно:

Наверное вам надо - pre_get_posts – изменение циклов (запросов) в WordPress

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Роман IT Ответ

Количество записей на странице автора в WordPress обычно меняется через основной запрос. Если это стандартный архив автора, используйте pre_get_posts. Так Вы не правите шаблон и не ломаете пагинацию.

add_action('pre_get_posts', function ($query) {
    if (is_admin() || !$query->is_main_query()) {
        return;
    }
 
    if ($query->is_author()) {
        $query->set('posts_per_page', 24);
    }
});

add_action('pre_get_posts', function ($query) { if (is_admin() || !$query->is_main_query()) { return; } if ($query->is_author()) { $query->set('posts_per_page', 24); } });

После этого проверьте /author/username/page/2/, потому что частая ошибка — вывести больше записей вручную через WP_Query, но забыть про пагинацию. Через pre_get_posts WordPress сам пересчитает страницы.

Если авторская страница выводится не стандартным шаблоном, а плагином Ultimate Member, BuddyPress или кастомным shortcode, этот хук может не сработать. Тогда нужно искать место, где плагин формирует свой запрос, и менять его параметры через фильтр плагина или настройки профиля.

Для диагностики временно выведите в шаблоне:

global $wp_query;
echo '<pre>';
var_dump($wp_query->query_vars['posts_per_page']);
echo '</pre>';

global $wp_query; echo '<pre>'; var_dump($wp_query->query_vars['posts_per_page']); echo '</pre>';

Если там старое значение, значит работает другой запрос. Если новое — проблема уже в шаблоне или в кэше страницы.

Ещё проверьте настройку Настройки → Чтение → На страницах блога отображать не более. Она задаёт глобальное количество записей для архивов. Хук выше нужен, когда для автора требуется отдельное значение, отличающееся от обычного блога.

Не используйте query_posts() в шаблоне автора. Он перезаписывает основной запрос и часто ломает пагинацию. Если нужен дополнительный блок записей автора, используйте отдельный WP_Query, а основной архив оставьте под управлением WordPress.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

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

Вам также может быть интересно