Adding Custom Capabilites

时间:2013-03-06 作者:Jeremy Dentel

因此,我不确定这是否可行,但是否可以添加自定义功能?

因此,我编写了一个与Wordpress相关的组消息应用程序。我只希望某些成员(通过我刚才询问的选项设置)能够发送此类消息。我想添加一个功能,比如“group\\u message”,并将其添加到特定用户(因为严格来说,没有权限发送邮件的编辑/管理员)。

我知道:

wp_current_user()->add_cap()
但我只需要做一件事,比如:wp\\u current\\u user()->add\\u cap(\'group\\u message\')?

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

我只是碰巧提供了一个简短的例子setting up a custom role capability (检查和代码)。但是,在您的情况下,您希望将功能添加到特定users - 不是角色。

以下内容code 可能是您想做什么的起点:

&燃气轮机&燃气轮机&燃气轮机;设置它

// The IDs of the `privileged users`
$users = array( ... );

// Required arguments for the user query
$args = array(
    \'include\' => $users,
    \'fields\' => \'all_with_meta\',
);

// Add the capability to privileged users
foreach ( get_users( $args ) as $user )
    $user->add_cap( \'group_message\' );
>&燃气轮机&燃气轮机;使用它
// Check for the capability
if ( current_user_can( \'group_message\') ) {
    // group message stuff
}
>&燃气轮机&燃气轮机;清理它
// Remove the capability
foreach ( get_users( \'fields\' => \'all_with_meta\' ) as $user )
    $user->remove_cap( \'group_message\' );
您现在需要做的就是考虑获得/提供user IDs. 例如,您可以在插件菜单页面上列出所有用户(如果有),然后选择您希望能够进行群消息传递的用户,最后为这些用户添加该功能。

结束