2012-05-15 27 views
0

我有一個問題與現代部落的「事件日曆」插件沒有正確分頁。它顯示第一頁罰款,但拒絕進入任何第二頁(使用wp-pagenavi)。理想情況下,我試圖通過AJAX加載,但在這一點上分頁將是一個奇蹟。我已經在這裏度過了一整天。基本上,這是查詢:WordPress的事件插件wp_query沒有分頁

<?php 
$wp_query = new WP_Query(); 
$wp_query->query(array(
'post_type'=> 'tribe_events', 
'eventDisplay' => 'upcoming', 
'posts_per_page' => 5) 
); 
$max = $wp_query->max_num_pages; 
$paged = (get_query_var('paged') > 1) ? get_query_var('paged') : 1; 


if ($wp_query->have_posts()) : 
while ($wp_query->have_posts()) : 
    $wp_query->the_post(); 
    ?> 
    <li><!-- do stuff --> </li> 
    <?php 
endwhile;?> 
    </ul> 
<?php 
endif; 
wp_reset_query(); // important to reset the query 
?> 

回答

1

有相當多的與你的循環問題:

你說你正在使用wp_page_navi,但我沒有看到任何的插件的任何引用的代碼。此外,你有循環中產生的列表項和一個關閉的ul標籤,但是我沒有在任何地方看到任何開放的ul標籤,這也可能導致你的一些問題。

我也注意到你試圖將'eventDisplay'設置爲'即將到來'的參數列表。 'eventDisplay'不是有效的WP_Query參數。我猜你可能有一個註冊的eventDisplay分類標準?如果是這樣,您將需要使用Tax Query。在這個例子中,我已經刪除了這個參數,但是如果你願意設置你需要的參數,可以隨時更換它。

最後,查詢參數應該在調用WP_Query時進行,而不是通過$ query-> query。

下面是我使用標準的Wordpress分頁和你的代碼中的參數。我不熟悉wp_page_navi,但這應該幫助你在正確的軌道上開始:

<?php 
global $paged; 
$curpage = $paged ? $paged : 1; 
$query = new WP_Query(array(
    'post_type'=> 'tribe_events', 
    'paged' => $paged, 
    'posts_per_page' => 5 
)); 

if ($query->have_posts()) : 
?> 
<ul> 
<?php while ($query->have_posts()) : $query->the_post(); ?> 
    <li><?php the_title(); ?></li> 
<?php endwhile; ?> 
</ul> 
<?php 
echo '<div id="wp_pagination">'; 
    echo '<a class="first page button" href="'.get_pagenum_link(1).'">&laquo;</a>'; 
    echo '<a class="previous page button" href="'.get_pagenum_link(($curpage-1 > 0 ? $curpage-1 : 1)).'">&lsaquo;</a>'; 
    for($i=1;$i<=$query->max_num_pages;$i++) 
    { 
     echo '<a class="'.($active = $i == $curpage ? 'active ' : '').'page button" href="'.get_pagenum_link($i).'">'.$i.'</a>'; 
    } 
    echo '<a class="next page button" href="'.get_pagenum_link(($curpage+1 <= $query->max_num_pages ? $curpage+1 : $query->max_num_pages)).'">&rsaquo;</a>'; 
    echo '<a class="last page button" href="'.get_pagenum_link($query->max_num_pages).'">&raquo;</a>'; 
echo '</div>'; 
endif; 
wp_reset_query(); 
?> 

這將設置你的循環在你的列表中顯示5個文章標題。下面將根據您擁有的帖子數量進行一系列編號鏈接。當你點擊一個號碼時,它會重新載入頁面及其相應的標題。

讓我知道這是否有幫助。