2013-01-02 43 views
3

這可能很簡單,但我無法弄清楚。我已經搜索了幾個小時,但沒有看到我的情況。我需要分頁與my_querywp_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

謝謝@ 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 --> 

?>

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變量名稱。你應該使用不同的。

+0

你打我吧。我會建議使用偏移參數,但你的方式更好。另外,是的,將實例名稱從$ wp_query更改爲其他內容至關重要。 – maiorano84

+0

謝謝你的幫助,但我有同樣的問題(分頁不改變投資組合項目)。 –

+0

btw我將'$ wp_query'改爲'$ my_query',現在分頁完全消失了。 –