Authors list Pagination?

时间:2011-03-14 作者:Fask

WordPress有一个内置功能,可以显示网站所有作者的列表。但是没有显示他们的头像的选项,所以如果你有作者,你真正得到的只是一个链接到作者页面的文本列表。php文件在您的主题中,即。

因此,打开互联网,我找到了这本不错的教程bavotasan.com 用一小段代码似乎就能做到这一点。

在我的网站上,所有用户都可以写文章,贡献者的名单很长。有可能设定10 users for page ?

使用此解决方案:将结果集分页自$wpdb->get_results()

我确实为作者编写了如下代码列表函数:

    function contributors() {
global $wpdb;

$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users WHERE display_name <> \'admin\' ORDER BY display_name");

$authors_per_page = 10;
$page = isset( $_GET[\'cpage\'] ) ? abs( (int) $_GET[\'cpage\'] ) : 1;

echo paginate_links( array(
    \'base\' => add_query_arg( \'cpage\', \'%#%\' ),
    \'format\' => \'\',
    \'prev_text\' => __(\'«\'),
    \'next_text\' => __(\'»\'),
    \'total\' => ceil($total / $authors_per_page),
    \'current\' => $page
));

foreach ($authors as $author ) {

echo "<li>";
echo "<a href=\\"".get_bloginfo(\'url\')."/author/";
the_author_meta(\'user_nicename\', $author->ID);
echo "/\\">";
echo get_avatar($author->ID);
echo "</a>";
echo \'<div>\';
echo "<a href=\\"".get_bloginfo(\'url\')."/author/";
the_author_meta(\'user_nicename\', $author->ID);
echo "/\\">";
the_author_meta(\'display_name\', $author->ID);
echo "</a>";
echo "<br />";
echo "SitoWeb: <a href=\\"";
the_author_meta(\'user_url\', $author->ID);
echo "/\\" target=\'_blank\'>";
the_author_meta(\'user_url\', $author->ID);
echo "</a>";
echo "<br />";
echo "Twitter: <a href=\\"http://twitter.com/";
the_author_meta(\'twitter\', $author->ID);
echo "\\" target=\'_blank\'>";
the_author_meta(\'twitter\', $author->ID);
echo "</a>";
echo "<br />";
echo "<a href=\\"".get_bloginfo(\'url\')."/author/";
the_author_meta(\'user_nicename\', $author->ID);
echo "/\\">Visita il Profilo di ";
the_author_meta(\'display_name\', $author->ID);
echo "</a>";
echo "</div>";
echo "</li>";
}
}
但还是有办法。。。。。请帮我找出错误并改正。非常感谢。

3 个回复
最合适的回答,由SO网友:Sam K 整理而成

我已将WP\\u LIST\\u作者修改为分页。我不知道它是否很性感,而且似乎需要某种缓存插件,否则这个特定页面的加载速度会非常慢。

分页函数的完整代码在此线程中:Modifying WP_LIST_AUTHOR Functions to output all users in a grid (and Paginate)

如果您只想直接查看我使用的分页代码,可以访问这里:http://www.phpfreaks.com/tutorial/basic-pagination

SO网友:Bainternet

在您的情况下,您可以通过使用Members List Plugin

它允许您在wordpress博客上创建一篇文章,列出所有wordpress成员。查看成员列表时,您还可以根据名字、姓氏、电子邮件地址、URL或您指定的任何其他数量的用户元字段来搜索成员。使用分页,您可以翻阅搜索结果,并根据姓氏、名字、注册日期或电子邮件对结果进行排序。

SO网友:Fask

如果我在循环中调用时添加此代码?

// Get the current page
$paged = get_query_var(\'paged\');
if (!$paged) $paged = 1;

// We\'ll return these at a later stage
$current_page = $paged;
$total_pages = ceil(count($authors) / 10);

// Calculate the starting and ending points
// Assuming we\'ll be showing 10 authors per page
$start = ($paged - 1) * 10;
$end = $paged * 10;
if ($end > count($authors)) $end = count($authors);

结束