【问题标题】:How to prevent a WordPress page from being deleted by a user如何防止WordPress页面被用户删除
【发布时间】:2012-09-20 22:23:31
【问题描述】:

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

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

【问题讨论】:

    标签: wordpress


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      Stephen Jones 描述了另一种有趣的方法,即简单地将页面隐藏在 wp-admen 页面列表中,这里:hide-certain-pages-posts-on-wp-admin-show-custom-filter

      【讨论】:

        猜你喜欢
        • 2021-04-05
        • 2019-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多