is_paged()
Проверяет отображается ли страница пагинации (страница типа /page/2, /page/3).
Этот условный тег относится только к страницам типа архивы, главной странице, дат, т.е. к тем страницам которые делятся на несколько.
Этот условный тег не оносится к постам и постоянным страницам разделенным на несколько страниц, тегом <!--nextpage-->. Подробнее читайте в Пагинация для контента записи WordPress.
Хуков нет.
Возвращает
true|false
.
Использование
if( is_paged() ){ // ... }
Примеры
#1 Проверка на какой конкретно странице пагинации мы находимся
Когда нужно проверить конкретную страницу пагинации, используйте get_query_var('paged')
.
if( get_query_var('paged') == 3 ){ // Сработает на 3-й страницы пагинации }
#2 Уберем блок в сайдбаре на страницах пагинации:
<?php if( !is_paged() ){ ?> <!-- Блок, который будет показан только на основной странице, но не странице пагинации --> <?php } ?>
#3 Проверка разделения записей на страницы
В записях можно использовать шоткод <!--nextpage-->. Такой код будет делить текст записи на несколько страниц. И URL например второй страницы будет выглядеть так: http://example.com/privet-mir/2/
Пример 1
$paged = get_query_var( 'page' ); // $paged = $wp_query->get( 'page' ); // или можно так... if ( $paged < 2 ){ // Это первая страница или пост не разделен на страницы } else { // Это 2,3,4 ... страница разделенного поста. }
Пример 2
Проверим разделен ли пост на страницы вообще...
the_post(); if( !empty($GLOBALS['multipage']) ){ // запись разделена на страницы }
Пример 3
Узнаем сколько страниц у записи
the_post(); if( !empty($GLOBALS['numpages']) ){ if( $GLOBALS['numpages'] === 1 ){ // не разделена } else { // запись разделена на страницы echo "Кол-во страниц {$GLOBALS['numpages']}"; } }
Заметки
- Global. WP_Query. $wp_query WordPress Query object.
Список изменений
С версии 1.5.0 | Введена. |
Код is_paged() is paged WP 6.6.1
function is_paged() { global $wp_query; if ( ! isset( $wp_query ) ) { _doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' ); return false; } return $wp_query->is_paged(); }