Qual é a diferença entre $ paged e $ page?

2

Estou criando paginação para o meu site. Espero que todos possam me explicar para que serve o código abaixo? Agradecemos antecipadamente.

<?php
if ( get_query_var('paged') ) {
    $paged = get_query_var('paged');
} elseif ( get_query_var('page') ) {
    $paged = get_query_var('page');
} else {
    $paged = 1;
}
query_posts('paged='.$paged.'&posts_per_page=');
?>
    
por Hung The 11.03.2015 / 03:50

1 resposta

8

Espero que você entenda quais são as variáveis de consulta. Se não, aqui está em resumo. A consulta principal usa WP_Query para se configurar. Na consulta principal, WP_Query usa variáveis de consulta pública para construir a consulta principal de acordo com a página que está sendo solicitada, e paged e page são dois deles. Para ver todas as variáveis de consulta pública, cole isso no seu cabeçalho e verifique em todos os modelos como isso é definido de acordo com a página consultada

var_dump($wp_query->query_vars);

A função get_query_var() é usada para obter os valores dessas variáveis de consulta pública e, nesse caso, é page e paged .

Para responder à sua pergunta, esses dois parâmetros e seus valores são usados por WP_Query para calcular a paginação e, mais importante, o deslocamento de postagens de acordo com os números de página. É esse parâmetro que garante que sua página de postagens esteja correta quando paginar páginas

  • paged - > Usado na página inicial, na página do blog, nas páginas do arquivo e nas páginas para calcular a paginação. A primeira página é 0 e daí o número corresponde ao número da página

  • page - > Use em uma página frontal estática e páginas únicas para paginação. A paginação nessas páginas funciona da mesma maneira, uma página frontal estática é tratada como página única na paginação. Por paginação em páginas únicas, quero dizer que posts únicos podem ser divididos em várias páginas

O que seu código basicamente faz é verificar se o parâmetro paged está definido, se isso falhar, verificar se o parâmetro page está definido e, se isso não estiver definido, defina a página como 1 . Essa verificação sempre falhará na página 1, portanto, $paged sempre voltará para 1 . Em qualquer outra página que não a página um, paged ou page retornará verdadeiro e definirá $paged para o número de página correto

Nota final: nunca use query_posts a menos que você precise quebrar algo em sua página e acredite em mim, você não quer isso. Sempre use WP_Query para consultas personalizadas paginadas. Para uma explicação completa sobre isso, consulte esta postagem que fiz há um tempo

    
por Pieter Goosen 11.03.2015 / 05:38