gpt4 book ai didi

WordPress:具有自定义角色的用户无法访问 wp-admin

转载 作者:行者123 更新时间:2023-12-02 21:49:29 26 4
gpt4 key购买 nike

首先我是一名WordPress学习者。如果我的代码看起来很愚蠢,那么抱歉!

我创建了一个具有自定义用户角色的自定义主题。我没有开发任何插件。

在我的 fucntions.php 文件中,我编写了以下代码来创建用户角色。分配给此角色的用户应该登录管理员,但只能访问其个人资料页面。

add_action('init', 'yrc_cst_register_role_customer_service_rep');

/**
* Register new user role
*/

function yrc_cst_register_role_customer_service_rep() {

$wp_roles = new WP_Roles();

$wp_roles->remove_role('subscriber');
$wp_roles->remove_role('editor');
$wp_roles->remove_role('contributor');
$wp_roles->remove_role('author');

$service_rep_caps = array(
'read' => false,
'create_posts' => false,
'edit_posts' => false,
'edit_others_posts' => false,
'publish_posts' => false,
'manage_categories' => false,
'manage_options' => false,
);

add_role('customer_service', __('Customer Service'), $service_rep_caps);
}

我已删除除管理员之外的所有角色,因为此门户不需要其他角色。管理员只会创建具有客户服务角色的用户。

我的系统中没有安装第三方插件。

具有自定义角色的用户可以通过工作正常的自定义登录页面登录系统。但每当他们尝试访问其个人资料页面时,就会出现以下错误消息:

Sorry, you are not allowed to access this page.

是否有类似'edit_profile' => true之类的内容?

我一定做错了什么,但我有限的知识不足以解决这个问题。任何建议将不胜感激。

最佳答案

你也许可以这样做:

这应该克隆订阅者角色功能并为其创建您的角色。

add_action('init', 'CreatecloneRoleSubscriber');

function CreatecloneRoleSubscriber()
{
global $wp_roles;
if ( ! isset( $wp_roles ) )
$wp_roles = new WP_Roles();

$sub = $wp_roles->get_role('Subscriber');
//Adding a 'new_role' with all subscriber caps
$wp_roles->add_role('customer_service', 'Customer Service', $sub->capabilities);
}

编辑:阅读问题评论中的讨论

关于WordPress:具有自定义角色的用户无法访问 wp-admin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47323297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com