2012-09-29 36 views
3

某些WordPress插件会创建一个页面或一个帖子,并且该插件的正确功能依赖于该页面或帖子的存在。例如,管理电子邮件列表的插件可能依赖于取消订阅页面,用户可能有意或无意删除该页面。如何防止用户删除WordPress页面

插件如何防止其页面被删除?

回答

4

首先,当你创建的页面,你可以存储它的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')) ... 

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

这是我如何做到这一点,它为我工作。我很想看看其他人如何解决这个问题。