Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress (WP)通过插件创建新角色_Wordpress - Fatal编程技术网

Wordpress (WP)通过插件创建新角色

Wordpress (WP)通过插件创建新角色,wordpress,Wordpress,我想在Wordpress网站上创建一个新角色,我制作了一个插件,并将这个功能放在插件文件中。下面是示例代码: add_role( 'imageuploader', 'Image Uploader', $capabilities ); $capabilities = array( 'read' => true, 'edit_posts' => true,

我想在Wordpress网站上创建一个新角色,我制作了一个插件,并将这个功能放在插件文件中。下面是示例代码:

add_role( 'imageuploader', 'Image Uploader', $capabilities );
$capabilities = array(
                      'read' => true,
                      'edit_posts' => true,
                      'delete_posts' => true,
                      'upload_files' => true,
                     );
之后,我将创建新用户并将此角色分配给该用户。我尝试使用该用户登录名登录WP admin,结果显示:您没有足够的权限访问此页面。

为什么会出现这样的错误?我在该用户角色上添加了读取功能。

使用此插件添加用户角色并管理所需的访问功能

$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
        'upload_files ' => true,
    )
);
if ( null !== $result ) {
    echo 'Yay! New role created!';
}
else {
    echo 'Oh... the basic_contributor role already exists.';
}
或使用manage your roll name to roletypename添加您的theme function.php


第二个代码工作得很好。非常感谢D
function add_theme_caps() {
    $role = get_role( 'roletypename' );
    // create if neccesary
    if (!$role) $role = add_role('roletypename', 'Role Name'); 
    // add theme specific roles
    $role->add_cap('delete_posts');
    $role->add_cap('delete_published_posts');
    $role->add_cap('edit_posts');
    $role->add_cap('edit_published_posts');
    $role->add_cap('publish_posts');
    $role->add_cap('read');
    $role->add_cap('upload_files');
}
add_action( 'admin_init', 'add_theme_caps');