如何防止 WordPress 页面被用户删除

2024-01-02

一些 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')) ...

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止 WordPress 页面被用户删除 的相关文章

随机推荐

  • 如何使用 R 从 Excel 中提取 URL 并将其与显示的文本进行匹配?

    我有一个包含大量超链接的 Excel 文件 我想编写一个程序来提取 URL 并将其与显示的文本进行匹配 我可以将包含解决方案的 URL 导入到上一个问题 https stackoverflow com questions 24149821
  • x 轴日期与 nvd3 中的 y 轴数据不一致

    I am using NVD3 with Flask and I have dates on the x axis 正如您所看到的 x 轴上的线与点不重合 我在 x 轴上打印出日 月 年和小时 我不明白为什么日期间隔不相等 即 小时 不相同
  • NestJS 拦截器:无法在传出请求上设置 HTTP 标头

    我正在 NestJS 中编写 API 其中有一组通用标头 我决定使用拦截器将标头附加到传出请求中 标头不会附加到请求中 因此请求不断失败 拦截器 import as utils from utils utils import CallHan
  • 文件是如何实现的?

    我很好奇文件在 python 中是如何工作的 文件是如何实现的 以便能够像这样循环 csv file open filename csv r for line in csv file do something with line 如果您使用
  • Scio:使用 Pub/Sub 作为集合源时,groupByKey 不起作用

    我改变了来源WindowsWordCount 示例 https github com spotify scio blob master scio examples src main scala com spotify scio exampl
  • Rails - 从嵌套验证错误消息中省略模型名称

    In my item型号 我有线has many user items validate true来验证相关的user item模型时item得到验证 验证错误消息如下所示 gt gt item errors gt messages nam
  • 在 np.array 中广播函数调用

    我正在尝试创建一个充满对象的 NumPy 数组 我想知道是否有一种方法可以广播到整个数组 让每个对象执行某些操作 Code class player def init self num 5 self num num def printnum
  • 在 settings.json 中向 Visual Studio Code 主题添加一个运算符

    我正在尝试添加这些词and or not 对于 Lua 到名为 Visual Studio Dark 的 Visual Studio Code 主题 该主题包含在 vscode 常规下载中 并且在 选择颜色主题 屏幕中称为 Dark Vis
  • 样式化组件 - 如何防止将 prop 传递给扩展组件?

    我正在延长Textarea而且我要completed可以通过以下方式访问StyledItemTextarea但不是Textarea 我怎样才能实现这个目标 import Textarea from react textarea autosi
  • 在 Cocos2d 和 Box2d 中获取物体上的接触点

    我很new对于 Cocos2d 和 Box2d 我 一直在关注教程 http www raywenderlich com 和 一般是黑客攻击 不过 我有一个 我无法解决的问题 我创建了 2 个主体和固定装置 在 Box2d 世界中 并创建了
  • 具有多个条件的 if 语句[重复]

    这个问题在这里已经有答案了 由于我缺乏 Bash 知识 我带着一个小问题来找你 我有一个包含 41 个文件夹的 Apps 目录 每个文件夹中都有一个css包含glue1 css 文件的子目录 我的目标是通过 bash 循环删除该 css 文
  • AngularJS在容器中无限滚动

    我正在尝试使用AngularJS无限滚动 http binarymuse github io ngInfiniteScroll 它似乎仅在滚动相对于浏览器窗口时才起作用 我想在内部 DIV 中进行无限滚动 即我有一个带有通用包装器的页面和一
  • 启动画面图标未完全显示

    我使用新的闪屏 API 为 API 级别 23 以下的所有 Android 版本添加均匀的闪屏 启动图标有什么要求吗 目前我尝试使用 svg 我认为它会在不同的屏幕上自动调整大小 有没有人也经历过这种情况并有解决方法或知道这些 隐藏的 要求
  • 自定义表单身份验证+MVC3+AuthorizeAttribute

    我本质上做的是this https stackoverflow com a 2342196 69735 但是 每当我使用内置的 AuthorizeAttribute 时 MVC 框架 我猜 永远不会查看我的主体来确定用户是否具有正确的角色
  • 从evaluateJavaScript函数的完成处理程序返回HTML字符串

    我知道我不是第一个问这个问题的人 但我无法解决这个问题 我正在尝试使用以下方法从 HTML 中获取一段字符串evaluateJavaScript在带有 Swift 3 的 Xcode 中 这段文本被称为value在完成处理程序中 所以我这样
  • CKeditor Html 5
    标签问题

    我使用 CKeditor 版本 4 我面临与 HTML 5 标签相关的问题 输入HTML代码 div class col md 4 col sm 4 div class item cont a href contents view home
  • Ruby on Rails 私人链接共享:Google 文档风格

    让用户能够共享内容的最佳方式是什么 私人链接使任何点击它的人都可以查看具有隐私限制的特定页面 文档 项目 就我而言 用户创建的事件仅限于数据库中的某些关系组 即 朋友 朋友的朋友等 我有一个 在 过滤器之前在事件控制器中检查当前登录用户的资
  • 在 Android 应用程序中使用 smack 进行文件传输。

    这个错误出现在日志中 from kutbi1 360degree Smack to akash 360degree Smack type error id hK1L6 5 gt
  • 具有多个子字段的 Drupal 自定义 CCK 字段

    有没有办法创建一个可以有多个值的复合字段 每个值都有另一组复合值 例如 我们希望最后有这样的结构 Group 1 unlimited number of groups 子字段 每组无限个子字段 子字段 Group 2 子字段 子字段 对于定
  • 如何防止 WordPress 页面被用户删除

    一些 WordPress 插件会创建页面或帖子 插件的正常功能依赖于该页面或帖子的存在 例如 管理电子邮件列表的插件可能依赖于取消订阅页面 用户可能会有意或无意地删除该页面 插件如何防止其页面被删除 首先 当您创建页面时 您可以将其 ID