PageNavi não funciona
-
Olá Pessoal,
Segui este tutorial para uma pagina de portfolio para meu thema, porém faltou uma coisinha só, a paginação.
Link: http://wp.tutsplus.com/tutorials/creating-a-filterable-portfolio-with-wordpress-and-jquery/
O problema é que tentei adicionar o plugin WP-paginavi no final da pagina e não funcionou.
Na verdade não aparece nada quando insiro o código:<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
Na pagina de blog funciona normalmente.
Alguém sabe se falta mais alguma coisa?
Meu arquivos estão igualzinhos ao do tutorial praticamente.
Obrigado!
-
Dá uma olhada aqui:
http://forumdosoftware.com/index.php?topic=1431.0Vc tem que fazer uma pequena modificação na sua query do Loop para o WP “saber” em que página ele está.
Entendi, o problema é que meu loop ta diferente do do tutorial.
Ele está assim:<?php if ( $loop ) : while ( $loop->have_posts() ) : $loop->the_post(); ?>
Como vai ficar meu código?
Na verdade a modificação é feita na query, que vem um pouco antes do loop. Olha os parâmetros que são passados no seu caso, e o parâmetro relativo à pagina que tem que ser adicionado, no tutorial.
Ainda nao consegui renato :/
Coloca o código do seu loop aqui, com a query, pra gente dar uma olhada.
A paginação está aparecendo, mais quando eu clico em pagina 2 ele até vai para a pagina 2 mais aparece os mesmo loops da primeira
<div id="content" role="main"> <div class="menu-list-port"> <?php $terms = get_terms("tagportfolio"); $count = count($terms); echo '<ul id="portfolio-filter" style="float:right;">'; echo '<li><a href="#all" title="">All</a></li>'; if ( $count > 0 ){ foreach ( $terms as $term ) { $termname = strtolower($term->name); $termname = str_replace(' ', '-', $termname); echo '<li><a href="#'.$termname.'" title="" rel="'.$termname.'">'.$term->name.'</a></li>'; } } echo "</ul>"; ?> <?php $portfolio = new WP_Query(array('post_type' => 'project', 'posts_per_page' => 4)); $count =0; ?> </div> <div id="portfolio-wrapper"> <ul id="portfolio-list"> <?php if ( $portfolio ) : while ( $portfolio->have_posts() ) : $portfolio->the_post(); ?> <?php $terms = get_the_terms( $post->ID, 'tagportfolio' ); if ( $terms && ! is_wp_error( $terms ) ) : $links = array(); foreach ( $terms as $term ) { $links[] = $term->name; } $links = str_replace(' ', '-', $links); $tax = join( " ", $links ); else : $tax = ''; endif; ?> <?php $infos = get_post_custom_values('_url'); ?> <li class="portfolio-item <?php echo strtolower($tax); ?> all" style="clear:both;"> <div class="thumb-port span6" style="margin-right: 20px; margin-top: 10px; margin-bottom: 50px;"> <!-- Hover Image --> <div class="image-box" style="margin-bottom: 5px;"> <div class="image-box-hover"> <?php the_post_thumbnail('large');?> <div class="image-wrapper-hover"> <div class="mask-hover"> <span class="zoom-left-port1"> <?php $full_image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'full'); ?> <a href="<?php echo $full_image[0]; ?>" rel="prettyPhoto[pp_gal]" title="At vero eos" class="info"><img src="wp-content/themes/Twilight/images/zoom-icon.png" /></a></span> <span class="link-right-hover"> <a href="<?php the_permalink(); ?>" class="info"><img src="wp-content/themes/Twilight/images/link-icon.png" /></a></span> </div> <h4 class="title_box_image-hover "><?php the_title(); ?></h4> <h6 class="sub_title_box_image-hover "><?php echo get_the_term_list($post->ID, 'tagportfolio', '', ', ', ''); ?></h6> </div> </div> </div> <!-- End Hover Image --> </div> <div class="content-port"> <h2 style="margin:0px;"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> <p class="sub-title"><?php echo get_the_term_list($post->ID, 'tagportfolio', '', ', ', ''); ?></p> <p class="excerpt"><a href="<?php the_permalink() ?>"><?php echo get_the_excerpt(); ?></a></p> <p class="links" style="margin-top: 15px;"><a href="<?php echo $infos[0]; ?>" target="_blank" class="btn_orange_tw">View Projects</a> <a href="<?php the_permalink() ?>" class="btn_orange_tw">Learn More</a> </p> </div> </li> <?php endwhile; ?> <div class="pagination-content aligncenter" style="text-align:center;"> <?php kriesi_pagination($portfolio->max_num_pages, $range = 2); ?> </div> <?php else: ?> <li class="error-not-found">Sorry, no portfolio entries for while.</li> <?php endif; ?> </ul> <div class="clearboth"></div> </div> <!-- end #portfolio-wrapper-->
Tenta fazer a seguinte modificação:
Troque:
$portfolio = new WP_Query(array('post_type' => 'project', 'posts_per_page' => 4));
Por:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $portfolio = new WP_Query(array('post_type' => 'project', 'posts_per_page' => 4,'paged'=>$paged));
Grandeeeeeeeeee!!!! Funcionou cara! Se não for pedir muito, oque vc fez? hehehe
Valeu 🙂
Quando vc acessa uma página qualquer do seu blog, o WP executa a consulta ao banco de dados para recuperar as informações pertinentes. Nessa consulta, vários parâmetros são definidos automaticamente, sem que a gente veja. Por isso nos temas normalmente não aparece a query.
Quando a gente decide personalizar uma query dessas, a gente acaba “apagando” os dados da query original, e só o que estiver definido na nova query é que fica valendo.
Então, com a nova query o WP não sabe mais em qual página ele está, porque isso era uma informação que estava na query original. A modificação sugerida fez exatamente isso: incluir um parâmetro na query que diz ao WP qual página ele deve buscar.
Se não fizer isso, ele adota sempre o valor default, que é a página 1.
Muito legal sua explicação! Entendi direitinho!
Só mais uma perguntinha, vc sabe como coloco um botão de next do lado dos numeros da minha paginação, mais em forma de imagem?
Tipo, ta assim:1 2 3 4
Dai quero colocar uma imagem de next tipo:
1 2 3 4 [imagem-next]
Se não for pedir muito, valeu !
Consegui aqui valeu!
- O tópico ‘PageNavi não funciona’ está fechado para novas respostas.