2010-07-05 130 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>'; 
}