3

这可能很容易,但我无法弄清楚。我已经搜索了几个小时,但我的情况没有运气。我需要使用 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 显示的分页,但同样的问题是不更改项目。

4

2 回答 2

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变量名。您可能应该使用不同的。

于 2013-01-02T01:05:22.920 回答
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 -->

?>

于 2013-01-02T02:31:36.230 回答