Ninguém para poder me ajudar ou outra dica de criar páginação, se precisarem posto meu template tbm, vai que tem algo errado nele.
Grato
Elias
Nada ate agora so para relembrar…rs… meu template esta abaixo:
<?php /* category_name*/?>
<?php /* Template Name:Template - Noticias */
get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php if (have_posts()) ; ?>
<?php the_post(); ?>
<?php $my_query = new WP_Query('cat=20&posts_per_page=3'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php if ( is_front_page() ) { ?><h2 class="entry-title"><?php the_title(); ?></h2>
<div class="entry-meta">Publicado em <?php the_date(); ?> por <?php the_author(); ?></div>
<?php } else { ?><h1 class="entry-title"><?php the_title(); ?></h1>
<?php } ?>
<div class="entry-content">
<?php global $more; $more = FALSE; ?>
<?php the_content('Continue Lendo...'); ?>
<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
<?php if (function_exists('the_views')) {the_views();} ?>
<?php comments_template(); ?>
</div><!-- .entry-content -->
</div><!-- #post-## -->
<?php endwhile; // end of the loop. ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Grato pela atencao e desesperado
Elias
Boa tarde Diana eu postei em um resolvido para não postar repetido aqui, irei colocar o endereço: http://br.forums.wordpress.org/topic/paginacao-na-home?replies=11#post-21582
Caso possa meu ajudar mais, resolvi em partes, porém não consigui 100%.
Att e grato
Elias
Rapaz, acho que descobri o seu problema olhando seu código. Foi algo que tive no passado também quando não sabia usar a WP_Query direito.
Creio que você queira que ele faça a paginação desse loop aqui, certo?
<?php $my_query = new WP_Query('cat=20&posts_per_page=3'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
Bom, quando você faz loops por WP_Query, ele todo funciona dentro da variável objeto que você criou. (No caso, $my_query)
O wp_pagenavi() irá pegar por padrão as regras principais de loop da sua página. Se você roda um loop dentro de um objeto, ele não tem nem como saber que existe! 😉
Qual a solução? Simples, o criador do plugin pensou nisso e criou um método onde você pode “passar” para o wp_pagenavi() a variável que contém o objeto de loop que você queira paginar.
Basta trocar esta linha:
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
Por esta:
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi( array( 'query' => $my_query ) ); } ?>
Desta forma, você “entrega” o objeto da sua query PARA a função, com todas as informações que você colocou (como números de posts por página e tal) e aí ele pagina corretamente. Comigo sempre deu certo =) Espero que ajude.
Boa tarde,
Caro tio felix, infelizmente não deu certo…esta assim agora o fonte:
<?php /* category_name*/?>
<?php /* Template Name:Template - Noticias */
get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php if (have_posts()) ; ?>
<?php the_post(); ?>
<?php $my_query = new WP_Query('cat=20&posts_per_page=3'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php if ( is_front_page() ) { ?><h2 class="entry-title"><?php the_title(); ?></h2>
<div class="entry-meta">Publicado em <?php the_date(); ?> por <?php the_author(); ?> / E-mail: <a href="mailto:<?php the_author_email (); ?>"><?php the_author_email(); ?></a></div>
<?php } else { ?><h1 class="entry-title"><?php the_title(); ?></h1>
<?php } ?>
<div class="entry-content">
<?php global $more; $more = FALSE; ?>
<?php the_content('Continue Lendo...'); ?>
<?php if (function_exists('the_views')) {the_views();} ?>
<?php comments_template(); ?>
</div><!-- .entry-content -->
</div><!-- #post-## -->
<?php endwhile; wp_reset_postdata(); ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi( array( 'query' => $my_query ) ); } ?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Não sei o que fazer mais…
grato pela atenção
Elias
Olha, to chutando BEM às cegas, mas suponho que seja pela função wp_reset_postdata() logo depois do endwhile.
Ela pode estar resetando a ultima query que você fez, e por isso a partir dali, ela não existe mais na variável. =) Tente removê-la. Não faz diferença você não usá-la ali, já que está trabalhando com uma query dentro de um objeto.
Infelizmente não deu certo, obrigado pela ajuda.
Att
Elias