如何阻止WordPress发布更新和删除后设置的时间

管理多个作者的WordPress网站有时可能会很复杂。 有一些插件可以管理编辑工作流程,但是您可能会遇到需要特定解决方案来更好地控制WordPress网站的情况。 最近,我们帮助用户找到了这样的解决方案。 他们想在一段时间之后为所有用户(包括编辑)在一段时间内阻止WordPress发布更新和删除。 例如,如果发布的帖子是30天或更长时间,那么它不能被编辑者编辑或删除。 只有管​​理员可以修改该帖子。 在本文中,我们将向您展示如何在WordPress中设置一段时间后阻止后期编辑,更新和删除操作。

锁定帖子更新和删除WordPress中较早发布的帖子

所有你需要做的就是添加下面的代码在你的主题的functions.php文件或特定于网站的插件。

函数site_restrict_editing($ allcaps,$ cap,$ args){

     //如果我们不要求编辑或删除帖子,请退出
     if('edit_post'!= $ args [0] &&'delete_post'!= $ args [0]
       // ...或者用户是admin
       ||  !空($ allcaps ['manage_options'])
       // ...或用户已经无法编辑帖子
       || 空($ allcaps ['edit_posts']))
         返回$ allcaps;

     //加载发布数据:
     $ post = get_post($ args [2]);

     //如果帖子未发布,请保留
     if('publish'!= $ post-> post_status)
         返回$ allcaps;

     //如果帖子超过30天 改变它以满足您的需求
     如果(strtotime($ post-> post_date) 

该功能检查用户是否有能力编辑或删除帖子。 之后,它检查发布状态。 如果帖子发布时间超过30天,则用户编辑和删除帖子的权限将被移除。 如果某个帖子已发布,但不超过30天,那么具有编辑帖子功能的用户仍然可以对其进行编辑。 注意:管理员可以随时编辑和删除帖子。

我们希望这篇文章能帮助那些希望在一段时间内阻止WordPress进行后期编辑,更新和删除的人。 你会在你的网站上做这个吗? 你可以看到这样的用例吗? 请在下面的评论中告诉我们。

资源:
Smhmic