我试图利用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>
这将返回一个数组,但我不确定如何获得所需的输出。提前谢谢。
最合适的回答,由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()
将生成缩略图。。。假设您想要默认值。