某些WordPress插件会创建一个页面或一个帖子,并且该插件的正确功能依赖于该页面或帖子的存在。例如,管理电子邮件列表的插件可能依赖于取消订阅页面,用户可能有意或无意删除该页面。如何防止用户删除WordPress页面
插件如何防止其页面被删除?
某些WordPress插件会创建一个页面或一个帖子,并且该插件的正确功能依赖于该页面或帖子的存在。例如,管理电子邮件列表的插件可能依赖于取消订阅页面,用户可能有意或无意删除该页面。如何防止用户删除WordPress页面
插件如何防止其页面被删除?
首先,当你创建的页面,你可以存储它的ID在以后需要获得一个选项:
add_option('undeleteable_page_id', $the_page_id, '', 'no'); // 'no' so this option does not load on every page
然后,你钩与功能的删除操作,以防止删除:
add_action('deleted_post', 'prevent_undeleteable_page_deletion');
add_action('trashed_post', 'prevent_undeleteable_page_trash');
在这些函数中,您检查要删除的页面的ID并将其与您在创建页面时存储的ID进行比较。
if($id == get_option('undeleteable_page_id')) ...
在“防止垃圾”功能中,将状态更改为发布。 在防止删除功能中,您重新创建页面。
这是我如何做到这一点,它为我工作。我很想看看其他人如何解决这个问题。
Stephen Jones描述了另一种简单的方法,将页面隐藏在wp-admen页面列表中,这里是:hide-certain-pages-posts-on-wp-admin-show-custom-filter