SimplePageNavi页码bug
4条评论»昨天发现SimplePageNavi的页码计算有误,我原本不到130篇日志,页码却显示到16。
查看SimplePageNavi源文件发现以下代码:
$postsnum = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts where post_status='draft'");
问题就在这里,查看WP的表结构发现这条查询条件有误。仅仅过滤掉了草稿,但是数据表中还存在post_status=inherit的数据项。所以将原代码做如下修改即可解决问题:
$postsnum = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts where post_type='post' and post_status='publish'");
(7月31日更新)
除了日志数量读取bug外,还确实在页码计算上存在一个bug。问题代码:
$pagenum=intval($postsnum/get_option('posts_per_page'));
解决办法:
$pagenum=ceil($postsnum/get_option('posts_per_page'));
评论(4)
哎~不好意思不好意思,那个插件我自己都没怎么用过,纯属娱乐……
Jerry谦虚,很好用的插件~···
现在你的PageNavi还有有些问题,15页没有内容。
@凯尔 thx~···