我在一个新网站上重新使用了一些旧代码,在那里我以最后一张帖子图片为背景显示列表中的所有用户。这一切都很好(我知道get\\u users\\u of\\u blog不受欢迎,但当我使用get\\u users时,我的代码会中断)。。。
<?php
$blogusers = get_users_of_blog();
if ($blogusers) {
foreach ($blogusers as $bloguser) {
$args = array(
\'author\' => $bloguser->user_id,
\'showposts\' => 1,
\'caller_get_posts\' => 1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
...........
<?php endwhile;
}
}
}
?>
问题是我无法按名称排序,也无法将作者排除在列表中。我试过这么做
$blogusers = get_users_of_blog(array(\'role\' => \'editors\', \'orderby => ID));
但这并不是什么坏事。任何人非常感谢。
最合适的回答,由SO网友:Johansson 整理而成
是的get_users_of_blog()
函数已弃用,并且代码在使用后中断的原因get_users()
是->user_id
零件,您应该使用->ID
相反
$blogusers = get_users();
if ($blogusers) {
foreach ($blogusers as $bloguser) {
$args = array(
\'author\' => $bloguser->ID,
\'showposts\' => 1,
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
...........
<?php endwhile;
}
}
}
如果您在多站点上,则应设置
blog_id
的参数
get_users
到您的博客ID。
现在,关于排除作者。如果你看看author parameters 属于WP_Query()
, 有一个author__not_in
接受作者ID数组的参数。因此,要排除test
角色,设置role__in
或role
的参数get_users()
到test
, 然后将结果用于WP_Query()
. 你没有提供准确的细节,所以我不确定你到底在照顾什么,但这些应该可以解决问题。