php - 对coauthors_wp_list_authors函数作者和插件Wordpress的输出排序

  显示原文与译文双语对照的内容
0 0

这个作者加上了一个名为 coauthors_wp_list_authors()的函数,用于在站点上输出所有作者的列表。 它接受许多与标准的wordpress函数( wp_list_authors() ) 相同的参数。

但它不接受"顺序"或者"顺序"。 ( 这里列出了它接受的内容) 。 如果没有这些参数,我将如何定制作者的排序顺序?

我的用法是一个"作者"页面,列出网站上的每个作者。 默认排序似乎是创建作者的日期。

我的函数如下所示:

function display_authors() {
 $author_list = coauthors_wp_list_authors('number=500&echo=0');
?>
 <div class="author_list"><ul><?php return $author_list?></ul></div>
 <?php
}

谢谢!

时间:原作者:4个回答

0 0

有意思,我想做同样的事情。 为了过滤从get_terms返回的作者 array,我向 repo 提交了一个请求请求。 如果这样做的话,就像在 coauthors_wp_list_authors_array 上添加一个筛选器并将 array 筛选到你想要的顺序那样简单。 在那之前。

---更新( 提示未解决的秘密更新音乐) -- - !

很好,看来拉请求被合并,它被部署到 repo的中,但是它们没有更新.org 插件,pester pester它们更新它:

为了谨慎,我将对你的 wordpress.org 论坛线程的响应重复,例如如何使用这个过滤器,例如按排序:

好吧,这是没有测试的,但是我应该做。 它也许不是最有效的做事方式。

如果要按其他属性排序,则按display_name排序,将 display_name 更改为行中的属性

$sorted[$item->display_name][] = $item;

要注意这两个对象的('模拟'用户对象和WP_User对象) 必须具有相同的属性,也要注意WP_User对象如何使用魔术方法 __get() 。

function coauthor_sort( $authors ) {
 $sorted = array();
 foreach ($authors as $item) {
 $sorted[$item->display_name][] = $item;
 }
 uksort($sorted,"strnatcasecmp");
 $sorted_authors = array();
 foreach ($sorted as $subArray) {
 foreach ($subArray as $item) {
 $sorted_authors[] = $item;
 }
 }
 return $sorted_authors;
}
add_filter('coauthors_wp_list_authors_array','coauthor_sort');
原作者:
...