某些WordPress插件会创建一个页面或帖子,插件的正常功能依赖于该页面或帖子的存在。例如,管理电子邮件列表的插件可能依赖于取消订阅页面,用户可能会故意或偶然删除该页面。
插件如何阻止其网页被删除?
答案 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