如何在设置的时间段后阻止WordPress发布更新和删除
管理多个作者的WordPress网站有时会很复杂。有一些插件可以管理编辑工作流程,但是您可能会遇到需要特定解决方案以更好地控制WordPress网站的情况。最近,我们帮助用户找到了这样的解决方案。他们想在一段时间后为所有用户(包括编辑)在一段时间后阻止WordPress发布更新和删除。例如,如果发布的帖子是30天或更早,则编辑者无法编辑或删除它。只有管理员才能修改该帖子。在本文中,我们将向您展示如何在WordPress中设置一段时间后阻止后期编辑,更新和删除。
您需要做的是在主题的functions.php文件中添加以下代码或者在特定于站点的插件中。
function restrict_editing( $allcaps, $cap, $args ) { // Bail out if we"re not asking to edit or delete a post ... if( "edit_post" != $args[0] && "delete_post" != $args[0] // ... or user is admin || !empty( $allcaps["manage_options"] ) // ... or user already cannot edit the post || empty( $allcaps["edit_posts"] ) ) return $allcaps; // Load the post data: $post = get_post( $args[2] ); // Bail out if the post isn"t published: if( "publish" != $post->post_status ) return $allcaps; //if post is older than 30 days. Change it to meet your needs if( strtotime( $post->post_date ) < strtotime( "-30 day" ) ) { //Then disallow editing. $allcaps[$cap[0]] = FALSE; } return $allcaps; } add_filter( "user_has_cap", "restrict_editing", 10, 3 );
此功能检查用户是否具有编辑或删除帖子的功能。之后,它会检查帖子状态。如果帖子已发布且超过30天,则会删除用户编辑和删除帖子的功能。如果帖子已发布但不超过30天,则具有编辑帖子功能的用户仍可以对其进行编辑。注意:管理员可以随时编辑和删除帖子。
我们希望这篇文章可以帮助那些想要在一段时间后阻止WordPress中的编辑,更新和删除的人。你会在你的网站上做到这一点吗?你能看到类似这样的用例吗?请在下面的评论中告诉我们。
来源:
Smhmic
评论被关闭。