问题:
如何创建自定义应用于网络上新网站的自定义角色?
我正试图大大减少新创建的网站的自由度。
以下是一个例子:
add_role('basic_user', 'Basic User', array(
'read' => true, // True allows that capability
'edit_posts' => true,
'delete_posts' => false,
));
我原本以为只需将此行添加到我的网络插件(到激活挂钩的进程)就足以在网络站点中看到此角色。但事实并非如此。
我知道会员插件,但我想完全控制这个功能,而不依赖于插件。
答案 0 :(得分:1)
对于此类网络自定义设置,我们使用 Must Use Plugins
创建文件夹/wp-content/mu-plugins/
并在那里删除一个PHP文件(它甚至不需要插件头;并且没有激活/停用,它始终处于活动状态):
<?php
/**
* Plugin Name: Basic contributor role
* Plugin Description: Network wide default role
*/
add_action( 'init', function()
{
$result = add_role(
'basic_contributor',
__( 'Basic Contributor' ),
array(
'read' => true, // true allows this capability
'edit_posts' => true,
'delete_posts' => false, // Use false to explicitly deny
)
);
});
在add_role()
documentation page中,提到了这种方法:在init
中添加mu-plugin
操作。