Вы можете сделать это с помощью одной строки кода, но с другой стороны, вы можете добавить код в других местах, поэтому функция обычно более полезна.
function current_paged( $var = '' ) {
if( empty( $var ) ) {
global $wp_query;
if( !isset( $wp_query->max_num_pages ) )
return;
$pages = $wp_query->max_num_pages;
}
else {
global $$var;
if( !is_a( $$var, 'WP_Query' ) )
return;
if( !isset( $$var->max_num_pages ) || !isset( $$var ) )
return;
$pages = absint( $$var->max_num_pages );
}
if( $pages < 1 )
return;
$page = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
echo 'Page ' . $page . ' of ' . $pages;
}
ПРИМЕЧАНИЕ: код может войти в ваш файл функций.
Просто вызовите функцию, в которой вы хотите показать сообщение «Страница x of y», например.
<?php current_paged(); ?>
Если вам нужен код для работы с пользовательским запросом, т.е. тот, который вы создали с помощью WP_Query
, а затем просто передайте имя переменной, которая содержит запрос к функции.
Пример несуществующего запроса:
$fred = new WP_Query;
$fred->query();
if( $fred->have_posts() )
... etc..
Получение текущей страницы для пользовательского запроса с помощью функции, опубликованной ранее.
<?php current_paged( 'fred' ); ?>
Если вы хотите полностью забыть о поддержке пользовательских запросов и ищете однострочник, то это должно быть сделано ..
<?php echo 'Page '. ( get_query_var('paged') ? get_query_var('paged') : 1 ) . ' of ' . $wp_query->max_num_pages; ?>
Надеюсь, это поможет.. :)
$wp_query->max_num_pages
?