Custom paging function

时间:2012-03-16 作者:Morteza

我将此代码用于自定义分页:

global $wpdb, $table_prefix, $current_user;
get_currentuserinfo();
$umail = $current_user->user_email;
$paged = $wpdb->get_results("SELECT * FROM {$table_prefix}comments WHERE comment_author_email = \'$umail\'");

$page = isset($_GET[\'page\']) ? (int) $_GET[\'page\'] : 1;
$pages = COUNT($paged);
$pages = ceil($pages / 2);

$querystring = "";
foreach ($_GET as $key => $value) {
    if ($key != "page") $querystring .= "$key=$value&";
}

// Pagination
for ($i = 1; $i <= $pages; $i++) {
    echo "<a " . ($i == $page ? "class=\\"selected\\" " : "");
    echo "href=\\"?{$querystring}page=$i";
    echo "\\">$i</a> ";
}
此代码分页我的注释如下:1 2 3 4 5 6 7 8 9 10 11

如何更改代码以获得如下分页:1 2 3。。。11

谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:Boone Gorges 整理而成

使用WordPress的paginate_links():

$pagination = paginate_links(array(
    \'total\' => $pages,
    \'current\' => $page
));
echo $pagination;
你可以和一些https://codex.wordpress.org/Function_Reference/paginate_links 以获得您想要的外观。具体而言end_sizemid_size 将帮助您确定显示的页码数,如您的示例(1 2 3…11)。

如果您想要功能强大的东西,可以查看my Boone的分页插件:http://teleogistic.net/2011/05/new-wordpress-plugin-boones-pagination/ (无耻的插头!),尽管对于您的用例来说可能太多:)

结束

相关推荐

URL rewrites and pagination

我必须说,我完全是Wordpress自定义URL重写的nooby。在过去的几天里,我一直在寻找如何确定和编写正确的URL重写模式的清晰解释。我有一个自定义页面模板,它使用传递给它的查询变量,例如。http://example.com/pagename?user=username. 在这里,“pagename”指的是自定义页面模板,“user”指的是自定义查询变量。我需要使用URL来表示它http://example.com/pagename/username.我还需要上面的内容进行分页。所以http://