获取具有不同角色的用户,并对每个用户调用函数(USER_META)

时间:2013-09-17 作者:Bram Vanroy

首先,我在中有一个自定义函数functions.php 这会得到一些作者信息。这对一个作者写的单篇文章很有用。

<?php function the_author_box() { ?>
<div class="widget about-the-author-widget">        
    <h3 class="widget-title">Over de auteur</h3>
    <div class="author-header clear">
        <div class="author-avatar-wrap"><?php echo get_avatar(get_the_author_meta( \'ID\' )); ?></div>
        <h4 class="author-name"><?php the_author_meta(\'display_name\'); ?></h4>
    </div>
    <div class="author-description"><p><?php the_author_meta(\'description\'); ?></p></div>
    <ul class="author-meta">
        <?php if ( get_the_author_meta( \'url\' ) ) { ?>
            <li class="url">
                <a href="<?php the_author_meta( \'url\' ); ?>" title="De website van <?php the_author_meta( \'display_name\' ); ?>">Website</a>
            </li>
            <?php // a lot more metas ?>
    </ul>
</div>
    <?php
} ?>
但现在,我正在设计一个自定义页面模板,为每个参与者或管理员用户显示“the\\u author\\u box”。都在同一页上。

我想我可以通过这样做获得用户(从stackexchange借用)。构建新功能:

function get_clients() { 

    $users = array();
    $roles = array(\'author\', \'contributor\', \'administrator\');

    foreach ($roles as $role) :
        $users_query = new WP_User_Query( array( 
            \'fields\' => \'all_with_meta\', 
            \'role\' => $role, 
            \'orderby\' => \'display_name\'
            ) );
        $results = $users_query->get_results();
        if ($results) $users = array_merge($users, $results);
    endforeach;

    return $users;
}
调用用户,并为每个用户执行函数:

<?php
$users_array = get_clients();
foreach ($users_array as $user) {
$user->the_author_box();
?>
但这行不通。我在猜测,因为它仍然是“作者元”,而不是用户的元。

如何调用函数$user->function(). 换句话说,我如何从该用户那里获取元信息?

1 个回复
SO网友:kaiser

首先,始终var_dump() 如果你不确定自己到底得到了什么。如果没有安装和配置XDebug,只需使用

printf( \'<pre>%s</pre>\', htmlspecialchars( var_export( $dumpMe, true ) ) );
这将带来同样丰富的信息。

关于WP_User_Query) IIRC返回的对象是WP_User. 你可以用

$user instanceof WP_User AND print \'Yes, I am a WP_User object\';
如果是这样,只需使用

var_dump( get_user_meta( $user->user_id ) );
你应该没事的。顺便说一句,没有真正的作者元。

结束

相关推荐

WordPress功能:EDIT_USER与EDIT_USERS

这个official documentation 仅提及edit_users, 但在来源中,我发现许多地方都在使用edit_user, 有什么区别?单数和复数能力有什么约定吗?e、 g。edit_post vs公司edit_posts?