根据环路外的功能显示消息

时间:2013-04-26 作者:jack

我想在post(single.php)页面上显示一条独特的消息outside the loop 在作者框上。我希望消息根据作者的能力有所不同。例如,如果作者可以manage_options 然后echothis is admin, 否则,如果作者可以edit_others_posts 然后echothis is editor 最后还有其他this is contributor.

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

使用global $authordata:

角色测试:

global $authordata;    

if ( in_array( \'administrator\', $authordata->roles ) )
{
   echo \'Hello Admin!\';
}
elseif ( in_array( \'editor\', $authordata->roles ) )
{
    // echo something else
}
或功能测试:

if ( ! empty ( $authordata->allcaps[\'manage_options\'] ) )
{
   echo \'The author can manage options\';
}
elseif ( ! empty ( $authordata->allcaps[\'edit_others_posts\'] ) )
{
    // echo something else
}

SO网友:inTOWN

在单循环之后。php

<?php endwhile; // end of the loop. ?>
放置此:

<?php
if ( current_user_can( \'editor\' ) )
{
echo \'This is the editor\';
}
elseif ( current_user_can( \'contributer\' ) )
{
echo \'This is contributor\';
} ?>
现在,根据用户的能力,帖子下面会说“这是编辑”或“这是贡献者”。

结束

相关推荐

仅在phpMyAdmin中使用ID创建数百个用户

我也在努力this post. 但我对将记录插入包含要导入的成员的所有ID的wp\\U users表中现在,我有3个成员,分别ID为1、11和12。但我需要插入500个用户,ID从2到502。如何在数据库中创建这些ID行而不逐个创建?现在,我知道如何一次添加一个,但它从id 510开始(因为我删除了较老的用户)。我想从ID 2开始。。。非常感谢!塞德里克