WordPress 如何让“business-owner”角色创建、编辑 CPT 文章?
2024-03-03 20:00:39
WordPress 允许“business-owner”角色创建和编辑自定义文章类型文章的解决方案
介绍
默认情况下,只有 WordPress 管理员可以创建和编辑自定义文章类型 (CPT) 文章。然而,可以通过添加自定义代码来扩展权限,允许其他用户角色执行这些操作。本文将指导你逐步实现此功能,让“business-owner”角色能够发布和编辑“products”CPT 文章。
步骤指南
1. 添加代码
将以下代码添加到你的主题 functions.php 文件中:
function pbt_add_members_to_dropdown( $query_args, $r ) {
$query_args['role'] = array('business-owner');
// Unset the 'who' as this defaults to the 'author' role
unset( $query_args['who'] );
return $query_args;
}
add_filter( 'wp_dropdown_users_args', 'pbt_add_members_to_dropdown', 10, 2 );
2. 设置用户权限
转到“用户”>“所有用户”,编辑“business-owner”角色并确保已启用“编辑他人文章”和“发布文章”权限。
3. 测试
转到“产品”>“添加新产品”,你现在应该可以看到“business-owner”角色出现在作者下拉列表中。
代码说明
pbt_add_members_to_dropdown()
函数使用 wp_dropdown_users_args
过滤器修改作者选择查询参数。$query_args['role']
指定要添加的用户角色,而 unset( $query_args['who'] )
删除将查询限制为 author
角色的默认参数。
结论
通过实施这些步骤,你可以允许“business-owner”角色发布和编辑“products”CPT 文章。这提供了更灵活的用户角色管理,允许企业主轻松更新产品内容。
常见问题解答
1. 此代码会影响其他 CPT 吗?
不,此代码仅适用于“products”CPT。
2. 我可以添加多个用户角色吗?
是的,只需在 $query_args['role']
数组中添加额外的角色名称即可。
3. 为什么需要编辑他人文章权限?
此权限允许用户编辑其他“business-owner”创建的文章。
4. 我可以在不添加代码的情况下执行此操作吗?
否,需要自定义代码才能添加非管理员用户角色。
5. 如何还原更改?
从 functions.php 文件中删除 pbt_add_members_to_dropdown()
函数,并保存更改。