Stack Overflow em Português Asked by Juliano Araújo on December 30, 2021
Baixei e instalei o Plugin wp_pagenavi eu coloquei no fim do meu código, ele aparece só que não pagina, clicando, seja no 2… 3… ele não pagina, sempre repete os itens de 1 a 10.
Código
<?php get_header(); ?>
<div class="contentCenter">
<div class="internalContent">
<h1> <?php echo "Categoria "; single_cat_title(''); ?> </h1>
<?php query_posts($query_strings . "&order=ASC"); ?>
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<div class="postList">
<div class="postListImage">
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php the_post_thumbnail(array(198, 198)); ?>
</a>
</div>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p style="font-size:12px; margin-top:4px;">
<i>Publicado por <strong><?php the_author(); ?></strong> em <strong> <?php the_time('d/m/Y'); ?></strong></i>
</p>
<?php the_excerpt(); ?>
<a href="<?php the_permalink(); ?>" id="read_more_link">
Continuar Lendo >>
</a>
<div class="visualClear"></div>
</div>
<?php
endwhile;
else:
?>
<p class="no-posts-found">Nenhum post encontrado.</p>
<?php
endif;
?>
<?php wp_pagenavi(); ?>
</div>
</div>
<?php get_footer(); ?>
O que eu poderia fazer pra ele funcionar?
Obs.: Sou novato no WordPress.
wp_pagenavi
está falhando porque a sua query está sendo sobrescrita com query_posts()
. A internet vai te dizer o contrário, mas nunca é uma boa ideia usar query_posts() porque essa função bagunça todas as variáveis globais do tema e causa esses tipos de problemas.
O plugin está implementado corretamente mas ao invés de chamar query_posts
na linha 5 as alterações na consulta devem ser feitas no seu arquivo functions.php
usando o filtro pre_get_posts
.
Exemplo:
add_action('pre_get_posts', 'modifica_query_category');
function modifica_query_category( $query ) {
// modifica apenas a query principal de arquivos de categoria
if ( $query->is_main_query() && is_category() ) {
// altera a ordem para ascendente
$query->set('order', 'ASC');
}
}
Com isso você elimina a consulta duplicada, melhora a performance do site e corrige os erros de paginação de uma vez só :)
Answered by Ricardo Moraleida on December 30, 2021
Veja se isso define o limite que você quer na linha 5:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array('posts_per_page' => '8');
query_posts($args . $query_strings . '&order=ASC&paged=' . $paged);
?>
Answered by Ivan Ferrer on December 30, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP