Количество сообщений на странице – задано для каждой категории и исключает боковую панель

У меня есть виджет на боковой панели, в котором отображаются последние сообщения. В приведенном ниже коде указывается количество сообщений на странице в каждой категории, но также влияет на боковую панель. Есть ли способ исключить боковую панель?

/** Different number of posts per page depending on the category **/ function hwl_home_pagesize( $query ) { if ( is_category( 'video' ) ) { // If you want "showposts" $query->query_vars['showposts'] = 10; return; } } add_action( 'pre_get_posts', 'hwl_home_pagesize', 1 ); 

Solutions Collecting From Web of "Количество сообщений на странице – задано для каждой категории и исключает боковую панель"

Проверьте is_main_query на объект запроса.

 if ( is_category( 'video' ) && $query->is_main_query() ) 

Вы должны всегда выполнять две следующие проверки

  • Убедитесь, что ваш текущий запрос является основным запросом

  • Убедитесь, что запрос является передним запросом

pre_get_posts изменяет все экземпляры WP_query , front end и back end, поэтому вам нужно сделать двойной, чтобы вы делали вышеуказанные проверки

Также is_category() должен быть объектом $query

Ваше условное выражение должно выглядеть так:

 if( !is_admin() && $query->is_main_query() && $query->is_category() )