如何防止用户删除WordPress页面

时间:2012-09-29 04:59:16

标签: wordpress

某些WordPress插件会创建一个页面或帖子,插件的正常功能依赖于该页面或帖子的存在。例如,管理电子邮件列表的插件可能依赖于取消订阅页面,用户可能会故意或偶然删除该页面。

插件如何阻止其网页被删除?

2 个答案:

答案 0 :(得分:5)

首先,当您创建页面时,您可以将其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')) ...

在“阻止垃圾”功能中,您将状态更改回发布。 在防止删除功能中,您可以重新创建页面。

这就是我这样做的方式,它对我有用。我很想看看其他人是如何解决这个问题的。

答案 1 :(得分:0)

斯蒂芬·琼斯描述了另一种有趣的方法,只是将页面隐藏在wp-admen页面列表中,在这里:hide-certain-pages-posts-on-wp-admin-show-custom-filter