侧栏随机作者聚光灯

时间:2012-02-15 作者:Keith

我试图利用wordpress中的作者在侧栏中创建一个聚光灯块,从多个用户中随机选择一个作者,只显示这一个用户的信息。我想包括作者的显示名称、缩略图、他们的个人简历片段和指向完整作者页面的链接。我还没有找到任何支持这个的插件。我不是PHP/MySQL wiz,所以自定义编写函数有点超出我的能力,但是我可以阅读并遵循代码。到目前为止,我拥有的是:

<?php 
    global $wpdb;
    $ids = $wpdb->get_results( "SELECT {$wpdb->usermeta}.user_id from {$wpdb->usermeta} where ({$wpdb->usermeta}.meta_key=\'wp_capabilities\') and ({$wpdb->usermeta}.meta_value >0 )" );
    $user_id = rand(1,count($ids));
    $wpdb->show_errors(); 
?>
<h2><?php get_the_author_meta( \'display_name\', $user_id ); ?></h2>
<img class="left" src="" alt="<?php print $selected_user; ?>" />
<p><?php get_the_author_meta( \'user_description\', $user_id ); ?> <a href="<?php get_the_author_meta( \'user_url\', $user_id ); ?>">read more</a>
这将返回一个数组,但我不确定如何获得所需的输出。提前谢谢。

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

如果使用get_users() 而不是自定义SQL查询。然后,可以使用以下命令从该数组中随机选择一个用户array_rand() (本机PHP函数,而不是wordpress函数),它将返回您应该使用的键。下面是一个示例:

$users = get_users( $your_params );
$id = array_rand( $users, 1 );

$user = $users[$id];
这将留给你$user, 它将包含一个用户对象,其中包含您可能需要的关于用户的所有内容。。。或者至少有能力获得你需要的东西。get_avatar() 将生成缩略图。。。假设您想要默认值。

结束

相关推荐

Echo author ID in author.php

这可能是一个非常简单的问题。但是我如何在author上回显用户的ID呢。php?我试过了the_author_meta(\'ID\') 但它似乎不想起作用。例如,我想在URL的末尾回显它;http:///www.domain.com/author/sampleauthor-id显然,其中“id”是特定作者的id有什么想法吗?