WordPress:插件中的add_filter被忽略-JSON媒体类型

时间:2019-05-02 21:31:36

标签: wordpress add-filter

我正在编写将使用json文件的插件。因此,我需要能够在wp-admin中将它们上传到媒体中。但是我收到标准错误,“抱歉,出于安全原因,不允许使用此文件类型。”我在插件主文件的开头添加了以下代码:     

add_filter( 'upload_mimes', 'my_myme_types' );
function my_myme_types( $mime_types=array() ) {
    $mime_types['json'] = 'application/json';
    return $mime_types;
}

我该怎么办?

2 个答案:

答案 0 :(得分:1)

https://core.trac.wordpress.org/ticket/45633

这是一个核心错误,无论出于何种原因将mime类型解释为text/plain

在修复该错误之前,该票证中的注释中提供了一个修补程序作为过滤器

答案 1 :(得分:0)

我认为问题是

  1. 您的代码段未调用。请尝试将您的代码添加到DONE-并检查是否一切正常。
  2. 或者,请尝试增加以下内容的优先级 wp-content/your-theme/functions.php-也许您有安全插件。

另外,请确保您的插件处于活动状态,并且您的代码段已被调用;您可以通过将此代码段添加到add_filter( 'upload_mimes', 'my_myme_types', PHP_INT_MAX );

来进行检查
wp-content/your-theme/functions.php

如果看到的是false而不是数字-这意味着-您的过滤器未注册。 在这种情况下,请尝试将代码放入

ob_clean();
var_dump( has_filter( 'upload_mimes', 'my_myme_types' ) );
exit;

插件说明后

wp-content/plugins/your-plugin/your-plugin-main-file.php