#热门
[WordPress教程] WordPress 禁止用户新建某文章类型的文章 -静鱼客栈

2021-09-27 0 706

WordPress 的文章类型把不同的内容区分为了不同的内容对象,方便我们在后台进行管理。一些用户在前端提交的内容,也可以直接写入到某个文章类型中,然后在后台进行维护管理,这时候,我们可能需要禁止管理员在后台新建内容,以确保这些内容都是用户在前端提交的。我们可以禁用掉用户在后台新建某个文章类型内容的功能,下面是两种实现方法。

创建文章类型的时候,直接禁用

使用 register_post_type 新建文章类型的时候,WordPress 为我们直接设置文章类型的 create_posts 权限为 ‘do_not_allow’,加上了这个参数之后,新创建的文件类型直接就没有新建内容的菜单和按钮了。


register_post_type( 'custom_post_type_name', array(
    'capability_type' => 'post',
    'capabilities' => array(
        'create_posts' => 'do_not_allow', // 移除 "新建" 功能
    ),
    'map_meta_cap' => true, // 如果不用许用户修改/删除文章,设置为 `false`
));

如果我们需要针对某个角色的用户开启创建文章的权限,我们可以设置 create_posts 的值为该角色的名称,如 ‘administrator’。

创建文章类型后禁用

有时候,我们的目标文章类型是通过插件事先创建好的,这时候,去修改主题或插件中的相关代码是不明智的,因为插件一旦更新,我们所做的修改就被覆盖掉了,还得重新来一遍。各种情况下,我们可以通过 WordPress 的 action 来修改目标文章类型的权限,如下,在WordPress 初始化的时候,我们设置 “文章” 文章类型的新建文章权限为“do_not_allow”,同样可以去掉创建文章类型的权限。


function disable_create_newpost() {
    global $wp_post_types;
    $wp_post_types['post']->cap->create_posts = 'do_not_allow';
}
add_action('init','disable_create_newpost');

除此之外,我们还可以通过隐藏新建文章的后台菜单来实现禁止用户新建文章的功能,不过这种方法是不安全的,如果用户知道了新建文章的 URL 地址,可以直接在浏览器中输入该地址打开新建文章的页面,所以不推荐这种方法。最保险的办法是采用本文中介绍的两种方法的任意一种。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝/QQ扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!305582964@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有U点奖励和额外收入!

静鱼客栈 学习中心 [WordPress教程] WordPress 禁止用户新建某文章类型的文章 -静鱼客栈 https://www.52jyu.cn/9379.html

静鱼客栈的帅逼站长~

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP贵宾介绍。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器没有下载完整造成的,可以重新进行下载即可~
查看详情

相关文章

发表评论
暂无评论
静鱼客栈-站长

为您解决烦忧 - 专业服务 看到消息会进行回复