首页 视频课程 WordPress开发文档后台功能及美化 禁用编辑

禁用编辑

2023-06-11 / 3235阅

在WordPress中,可以限制用户对文章或页面的编辑权限。这可以很有用,特别是如果您想允许用户仅在某些条件下编辑文章或页面。下面是一些关于在WordPress中禁用编辑的方法。

方法1:使用用户角色

在WordPress中,您可以分配不同的用户角色和权限。因此,您可以创建一个新的用户角色,并限制它们的编辑权限。例如,您可以创建一个“作者”用户角色,并禁止他们编辑其他用户的文章。

以下是一个示例代码,它限制了“作者”用户角色对其他用户的文章的编辑权限:

function restrict_editing_others_posts( $caps, $cap, $user_id, $args ) {
    $current_user = wp_get_current_user();
    if ( ! $current_user->has_cap( 'administrator' ) && $cap == 'edit_others_posts' ) {
        $caps[] = 'do_not_allow';
    }
    return $caps;
}
add_filter( 'user_has_cap', 'restrict_editing_others_posts', 10, 4 );
  

方法2:使用插件

您也可以使用插件来实现禁用编辑功能。例如,“User Role Editor”插件允许您轻松地创建新的用户角色并分配不同的权限。

方法3:使用自定义代码

如果您想将编辑权限限制为特定条件,例如文章的发布日期或状态,您可以使用自定义代码来实现。例如,以下代码将禁止用户编辑发布时间超过一周的文章:

function restrict_editing_old_posts( $allcaps, $cap, $args ) {
    $post_id = $args[0];
    $post = get_post( $post_id );
    if ( $cap === 'edit_post' && strtotime( $post->post_date ) < strtotime( '-1 week' ) ) {
        $allcaps['edit_post'] = false;
    }
    return $allcaps;
}
add_filter( 'user_has_cap', 'restrict_editing_old_posts', 10, 3 );
  

不管您使用哪种方法来禁用编辑功能,都要确保测试代码以确保它能够正常工作并符合您的期望。

 

阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228

大家谈论
    我的见解
    目录