Wordpress 在订户配置文件中禁用wp_术语检查表复选框

Wordpress 在订户配置文件中禁用wp_术语检查表复选框,wordpress,checkbox,roles,Wordpress,Checkbox,Roles,我正在使用wp\u terms\u checklist来显示供用户在用户配置文件中签入的选项。当以管理员身份登录时,此功能正常工作,但当我以订户身份登录时,复选框输入中添加了disabled=“disabled” 我认为这不是权限问题,因为内容实际上出现在订阅者的个人资料页面中。它很可能来自这个函数,为什么我不知道 以下是代码(这是我正在制作的自定义插件的一部分): 通知选项 .iw_notify_hierarchical_list ul{padding left:20px;} 您是正确的

我正在使用
wp\u terms\u checklist
来显示供用户在用户配置文件中签入的选项。当以管理员身份登录时,此功能正常工作,但当我以订户身份登录时,复选框输入中添加了
disabled=“disabled”

我认为这不是权限问题,因为内容实际上出现在订阅者的个人资料页面中。它很可能来自这个函数,为什么我不知道

以下是代码(这是我正在制作的自定义插件的一部分):


通知选项
.iw_notify_hierarchical_list ul{padding left:20px;}
您是正确的,功能禁用了复选框

如果您看到core template.php

已禁用
的设置取决于从分类法分配的当前用户(在您的示例中是分类法通知

因此,您需要检查您的函数通知,并确保设置了参数
功能
。如果您需要订阅者拥有使用条款清单的完全权限,则必须如下设置:

'capabilities' => array(
    'manage_terms' => 'read',
    'edit_terms'   => 'read',
    'delete_terms' => 'read',
    'assign_terms' => 'read'
)
只要根据需要调整即可。有关角色和能力,请参见WP Codex

$tax = get_taxonomy( $taxonomy );
$args['disabled'] = ! current_user_can( $tax->cap->assign_terms );
'capabilities' => array(
    'manage_terms' => 'read',
    'edit_terms'   => 'read',
    'delete_terms' => 'read',
    'assign_terms' => 'read'
)