@vadim_sverdlik
Начинающий разраб

Как правильно указать вывод pre_get_posts?

Я решил впервые использовать pre_get_posts для того, чтобы выводить разное количество постов, я вставил следующее в functions.php:

function custom_posts_per_page($query){
    if(is_search()){
        $query->set('posts_per_page',12);
    }
    if(is_category()){
        if( wp_is_mobile() ) {
            $query->set('posts_per_page',5);
        }else{
            $query->set('posts_per_page',10);
        }

    }//endif

}//function


add_action('pre_get_posts','custom_posts_per_page');

Оно работает, но теперь оно перебивает количество постов в футере на этих страницах, подскажите, как грамотно обойти pre_get_posts в футере, т.к. там вообще статическое количество постов нужно выводить.
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
function custom_posts_per_page( $query ) {

	if ( is_admin() || ! $query->is_main_query() ) {
		return;
	}

	if ( $query->is_search() ) {
		$query->set( 'posts_per_page', 12 );
	}
	if ( $query->is_category() ) {
		if ( wp_is_mobile() ) {
			$query->set( 'posts_per_page', 5 );
		} else {
			$query->set( 'posts_per_page', 10 );
		}

	}//endif

}//function

add_action( 'pre_get_posts', 'custom_posts_per_page' );
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы