is_paged()
Проверяет отображается ли страница пагинации (страница типа /page/2, /page/3).
Этот условный тег относится только к страницам типа архивы, главной странице, дат, т.е. к тем страницам которые делятся на несколько.
Этот условный тег не оносится к постам и постоянным страницам разделенным на несколько страниц, тегом <!--nextpage-->. Подробнее читайте в Пагинация для контента записи WordPress.
Хуков нет.
Возвращает
true|false.
Использование
if( is_paged() ){
// ...
}
Примеры
#1 Уберем блок в сайдбаре на страницах пагинации:
<?php if( !is_paged() ){ ?>
<!-- Блок, который будет показан только на основной странице, но не странице пагинации -->
<?php } ?> #2 Проверка на какой конкретно странице пагинации мы находимся
Когда нужно проверить конкретную страницу пагинации, используйте get_query_var('paged').
if( get_query_var('paged') == 3 ){
// Сработает на 3-й страницы пагинации
} #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_queryWordPress Query object.
Список изменений
| С версии 1.5.0 | Введена. |
Код is_paged() is paged WP 7.0
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();
}