Em uma situação em que há 20 postagens por página. Gostaria de obter o número da página atual para fazer alguns links de página interessantes na parte inferior. Como você obtém a página atual. Eu tentei isso
Obter o número total de páginas é um pouco mais complicado. Primeiro você precisa contar todas as postagens no banco de dados. Em seguida, filtre quais postagens são publicadas (versus quais são rascunhos, agendados, lixeira etc.). Então você deve dividir essa contagem pelo número de postagens que você espera que apareça em cada página:
Essa é uma boa alternativa. Parte do que $wp_queryeu esqueci completamente estava lá: - /
EAMann
@EAMann BTW: também existe a found_postspropriedade "O número total de mensagens encontradas correspondentes aos parâmetros de consulta atuais", wp_count_posts () é uma espécie de sobrecarga.
jave.web
8
Você pode fazer isso com uma única linha de código, mas, novamente, convém adicionar o código em outros lugares, para que uma função seja geralmente mais útil.
NOTA: O código pode entrar no seu arquivo de funções.
Simplesmente chame a função onde deseja mostrar a mensagem "Página x de y", por exemplo.
<?php current_paged();?>
Se você precisar do código para trabalhar com uma consulta personalizada, por exemplo. aquele que você criou usando WP_Query, basta passar o nome da variável que mantém a consulta para a função.
Uma opção que funciona em todas as minhas páginas de arquivo é a seguinte:
$paged_maxnum = $GLOBALS['wp_query']->max_num_pages;if( $paged_maxnum >1){
$paged_current_page = get_query_var('paged')? intval( get_query_var('paged')):1;
$title_page_nrs ='page nr '. $paged_current_page .' of '. $paged_maxnum;
echo '<title>'. get_the_archive_title('',false).' - '. $title_page_nrs .' | Your Website Name</title>';}else{
echo '<title>'. get_the_archive_title('',false).' | Your Website Name</title>';}
Primeira consulta se houver mais de uma página wp_query, concatene o título com a página atual via $paged_current_pagee total de páginas com $title_page_nrs. Por fim echo. Se acima de 1 página primeiro, elsese não for paginado. Isso vai para o meu archive.php ou modelos para esse tipo. Produz:
<title>Taxonomy title - page nr 1 of 4 | Your Website Name</title>
$wp_query->max_num_pages
?$wp_query
eu esqueci completamente estava lá: - /found_posts
propriedade "O número total de mensagens encontradas correspondentes aos parâmetros de consulta atuais", wp_count_posts () é uma espécie de sobrecarga.Você pode fazer isso com uma única linha de código, mas, novamente, convém adicionar o código em outros lugares, para que uma função seja geralmente mais útil.
NOTA: O código pode entrar no seu arquivo de funções.
Simplesmente chame a função onde deseja mostrar a mensagem "Página x de y", por exemplo.
Se você precisar do código para trabalhar com uma consulta personalizada, por exemplo. aquele que você criou usando
WP_Query
, basta passar o nome da variável que mantém a consulta para a função.Exemplo de consulta inexistente:
Obtendo a página atual da consulta personalizada usando a função postada anteriormente.
Se você deseja esquecer totalmente o suporte à consulta personalizada e está procurando uma linha, isso deve ser feito.
Espero que ajude.. :)
fonte
$var
é uma consulta:if( is_a( $var, 'WP_Query' ) )
retornará true se for um objeto de consulta.Como mencionado acima - uma maneira mais simples de obter o número máximo de páginas é com:
fonte
Uma opção que funciona em todas as minhas páginas de arquivo é a seguinte:
Primeira consulta se houver mais de uma página
wp_query
, concatene o título com a página atual via$paged_current_page
e total de páginas com$title_page_nrs
. Por fimecho
. Se acima de 1 página primeiro,else
se não for paginado. Isso vai para o meu archive.php ou modelos para esse tipo. Produz:<title>Taxonomy title - page nr 1 of 4 | Your Website Name</title>
ou
<title>Taxonomy title | Your Website Name</title>
fonte