如何防止 WordPress 媒体库删除图像?

问题描述

我有一个自定义帖子类型,必须有其特色图片。它的特征图像也出现在媒体库中,用户可以在其中永久删除图像/附件文件。但我想阻止用户删除我的自定义帖子类型的特征图像。因此,我使用以下钩子拦截 ajax 请求,验证用户是否正在删除我的自定义帖子类型的图像,并使用 wp_die() 停止该过程。

add_filter('pre_delete_attachment','check_my_custom_post_type',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,客户端的媒体库仍然从其视图中删除图像。

如果服务器端没有删除图像,如何防止媒体库从客户端的视图中删除图像?

解决方法

documentation 中,第二个参数是 bool|null。尝试 return false 而不是 wp_die

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...