wordpress - 如何防止 WordPress 媒体库删除图像?
问题描述
我有一个自定义帖子类型,它必须有它的特征图像。其特征图像也出现在媒体库中,用户可以在其中永久删除图像/附件文件。但我想阻止用户删除我的自定义帖子类型的特征图像。所以我使用下面的钩子来拦截 ajax 请求,验证用户是否正在删除我的自定义帖子类型的图像,并使用wp_die()
.
add_filter('pre_delete_attachment', 'check_my_custom_post_type', 0, 2);
function check_my_custom_post_type($delete, $post) {
if (Yes it is image of my custom type) {
wp_die('My message', 'My title', ['response' => 400]);
}
}
它在服务器端运行良好。我的自定义帖子类型的图像无法删除。但是客户端的媒体库仍然会从其视图中删除图像,即使服务器端的图像没有被删除并且已经抛出异常 400。
如果图像尚未在服务器端删除,如何防止媒体库从客户端视图中删除图像?
解决方案
在文档中,第二个参数是bool|null
. 尝试return false
代替wp_die
推荐阅读
- c - 将数据传递给函数时遇到问题
- webpack - 为什么使用 Webpack 时有时未定义窗口?
- angular - node_modules/rxjs/internal/types.d.ts(81,44): 错误 TS1005: ';' 安装 Angular 6 后的预期错误
- android - 后台服务在 android PIE 版本中无法正常工作
- amazon-web-services - 使用 S3 存储桶通过单一云端分发服务多个网站
- google-bigquery - 读取 Avro 文件并将其写入 BigQuery 表
- c - 2n 比例整数的 16 位加法
- hive - Hive- 使用 ROW_NUMBER() 删除重复行
- java - Appium 不显示 webview 上下文,它只显示本机应用程序上下文。如何获取 webview 上下文?
- java - 最后的分析失败了。后台任务页面上提供了更多详细信息