WordPress 禁止用户删除某些文章类型中的文章
要禁止WordPress用户删除某些文章类型(post types)中的文章,您可以使用以下方法之一:
-
使用插件:
您可以使用WordPress插件来轻松管理文章删除权限。以下是使用插件的步骤:
a. 登录WordPress后台,转到“插件” > “添加新插件”。
b. 在搜索框中输入“User Role Editor”(用户角色编辑器)或类似的关键词,然后安装并激活相应的插件。
c. 安装并激活插件后,转到“用户” > “用户角色编辑器”以配置用户角色权限。
d. 选择要编辑的用户角色(通常是“订阅者”或其他自定义角色),然后找到“文章”或文章类型名称。
e. 您可以在这里设置允许或禁止删除文章的权限。确保将删除权限设置为“不允许”。
f. 单击“更新”以保存更改。
-
使用自定义代码:
如果您不想使用插件,也可以通过添加一些自定义代码来实现这一目标。在您的主题的functions.php文件中添加以下代码:
// 检查用户是否有删除文章的权限 function custom_check_delete_permission($allcaps, $cap, $args) { // 要禁止删除的文章类型 $disallowed_post_types = array('post_type_1', 'post_type_2'); // 将post_type_1和post_type_2替换为您要禁止的文章类型 // 获取当前文章的类型 $post_type = isset($args[0]) ? get_post_type($args[0]) : null; // 检查用户是否要删除的是禁止的文章类型 if (in_array($post_type, $disallowed_post_types)) { // 如果是禁止的文章类型,禁止删除权限 $allcaps['delete_post'] = false; } return $allcaps; } // 将自定义权限检查函数添加到'user_has_cap'过滤器 add_filter('user_has_cap', 'custom_check_delete_permission', 10, 3);
请将代码中的
post_type_1
和post_type_2
替换为您要禁止删除的文章类型的名称。这段代码将检查用户是否尝试删除指定的文章类型,如果是,将禁止他们执行该操作。
请注意,在使用自定义代码时,务必小心,确保您的主题在更新时不会覆盖这些更改,并且在修改主题文件之前备份您的网站。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
仍然有问题? 我们要如何帮助您?