2010-07-05 47 views
0

我有一個顯示最新消息的wordpress頁面。我想分頁這些新聞了,這是我的代碼:Wordpress分頁

<?php 
query_posts('posts_per_page=5'); 
?> 
<?php 
while (have_posts()): 
    the_post(); 
?> 
    <div class="news"><h1><a href="<?php 
    the_permalink(); 
?>" rel="news" title="<?php 
    the_title_attribute(); 
?>"><?php 
    the_title(); 
?></a></h1> 
    <p> 
    <?php 
    the_excerpt(); 
?> 
    </p> 
    </div> 
<?php 
endwhile; 
?> 
<p><?php 
wp_pagenavi(); 
?></p> 
<?php 
wp_reset_query(); 
?>         

我有一個頁面內容的代碼,我使用的exec-PHP插件來解析的代碼。問題是,當我點擊頁面2時,我仍然看到頁面1的消息。所以分頁不起作用。

有什麼想法?

在我的檔案(archive.php)頁面上我也嘗試了分頁,但是當我點擊第2頁時,我在主頁上重定向。

請幫幫我!

回答

0

據我所知,Wordpress拒絕任何URL不能識別的查詢參數。

即使你解決了這個問題,這個功能

<?php query_posts('posts_per_page=5'); ?> 

如此看來「明顯的」始終顯示第1。我不知道里面的代碼,所以我可以不接受頁面參數錯誤。

我發現這個鏈接,解決了第一個問題:http://www.webopius.com/content/137/using-custom-url-parameters-in-wordpress

+0

我假定query_posts()需要的參數,並自動地調整基於 'CURRENT_PAGE' 參數的查詢。我也不知道里面的代碼。 :○ – fabrik 2010-07-05 14:04:28

0

它可能會幫助你

http://tareq.wedevs.com/2011/07/simple-pagination-system-in-your-wordpress-plugins/

或見下文 簡單的步驟:

$pagenum = isset($_GET['pagenum']) ? absint($_GET['pagenum']) : 1; 

查找總記錄數

$limit = 10; // number of rows in page 
$offset = ($pagenum - 1) * $limit; 
$total = $wpdb->get_var("SELECT COUNT(`id`) FROM {$wpdb->prefix}table_name"); 
$num_of_pages = ceil($total/$limit); 

給予限制:

$entries = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}table_name LIMIT $offset, $limit"); 

添加此代碼放到要分頁:

$page_links = paginate_links(array(
    'base' => add_query_arg('pagenum', '%#%'), 
    'format' => '', 
    'prev_text' => __('&laquo;', 'aag'), 
    'next_text' => __('&raquo;', 'aag'), 
    'total' => $total, 
    'current' => $pagenum 
)); 

if ($page_links) { 
    echo '<div class="tablenav"><div class="tablenav-pages" style="margin: 1em 0">' . $page_links . '</div></div>'; 
}