wp_query中的分页

时间:2013-01-02 01:00:04

标签: php wordpress

这可能很容易,但我无法理解。我已经搜索了几个小时但没有运气我的情况。我需要使用my_query

进行分页
    <?php   
    $count = 0;
    $id_suffix = 1;
    $items_per_row = 4;
    $quality = 90;      
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;             
    $wp_query = new WP_Query( array( 'posts_per_page' => '4', 'post_type' => 'portfolio') );
    $grid_class = 'grid_3';
    $desired_width = 220;
    $desired_height = 190;
    $terms = get_terms( 'portfolio_categories' ); 
    $count_terms = count( $terms ); 
?>

//some php code 

<?php while ( $wp_query -> have_posts()) : $wp_query -> the_post(); //query the "portfolio" custom post type for portfolio items ?>


//some more php code 


<?php endwhile;?>
<div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'thematic')) ?></div>
<div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'thematic')) ?></div>
</ul>

我显示了分页,但是当点击另一个页面时,它会显示相同的组合项目。任何帮助,将不胜感激。

我使用wp-pagenavi显示了分页,但同样的问题是没有更改项目。

2 个答案:

答案 0 :(得分:6)

您正在构建$paged变量但未使用它。

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;             
$wp_query = new WP_Query( 
  array( 
  'posts_per_page' => '4', 
  'post_type' => 'portfolio',
  'paged' => $paged // this is the missing part
) );

WordPress使用$wp_query变量名称。你应该使用另一个。

答案 1 :(得分:4)

感谢@ maiorano84和@s_ha_dum指出我正确的方向。我想为遇到问题的任何人更新这篇文章。我遇到的问题是在静态首页上进行分页工作。在读完手抄本后,我发现了我的问题。

而不是$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 我不得不使用
$paged = (get_query_var('page')) ? get_query_var('page') : 1;

一个小错误就是让分页工作的原因。所以最终的代码看起来像这样。

<?php   
    $count = 0;
    $id_suffix = 1;
    $items_per_row = 4;
    $quality = 90;
    $paged = (get_query_var('page')) ? get_query_var('page') : 1;
    $my_query = new WP_Query( array( 
    'posts_per_page' => 8, 
    'post_type' => 'portfolio',
    'paged' => $paged
    ) );
    $grid_class = 'grid_3';
    $desired_width = 220;
    $desired_height = 190;
    $terms = get_terms( 'portfolio_categories' ); 
    $count_terms = count( $terms ); 
?>

//一些php代码

<?php while ( $my_query -> have_posts()) : $my_query -> the_post(); //query the "portfolio" custom post type for portfolio items ?>


  (Some more php code)

<?php endwhile;
wp_pagenavi(array( 'query' => $my_query ) );    ?>
</ul><!-- END .portfolio-gallery -->

&GT;