Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何让Wordpress允许上载.doc和.docx_Php_Wordpress - Fatal编程技术网

Php 如何让Wordpress允许上载.doc和.docx

Php 如何让Wordpress允许上载.doc和.docx,php,wordpress,Php,Wordpress,我正在编写一个自定义Wordpress插件。我希望能够上传.pdf、.doc和.docx文件。默认情况下,PDF已被接受,但我无法获取要上载的文档或DOCX文件。首先,我尝试将它们添加为新的mime类型: function allowDocMimeTypes( $mime_types ) { $mime_types = array ( 'doc' => 'application/msword', 'docx' => 'application/v

我正在编写一个自定义Wordpress插件。我希望能够上传.pdf、.doc和.docx文件。默认情况下,PDF已被接受,但我无法获取要上载的文档或DOCX文件。首先,我尝试将它们添加为新的mime类型:

function allowDocMimeTypes( $mime_types ) {
    $mime_types = array (
        'doc' => 'application/msword',
        'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
    );
    return $mime_types;
}
$new_mimes = add_filter( 'upload_mimes', 'allowDocMimeTypes' );
那是行不通的。接下来,我尝试将它们作为覆盖添加到wp_handle_upload()函数:

$upload_overrides = array( 
    'test_form' => false,
    'mimes' => array(
        'pdf' => 'application/pdf',
        'doc' => 'application/msword',
        'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
    ),
);
$movefile = wp_handle_upload( $file, $upload_overrides );

那也不行。有什么建议吗?

您的第一个解决方案是正确的,但是您需要覆盖现有值。以下代码应在不覆盖现有代码的情况下工作

function mime_types($mimes) {
  $mimes['doc'] = 'application/msword';
  $mimes['docx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
  return $mimes;
}
add_filter('upload_mimes', 'mime_types');

谢谢贾斯帕!我感谢你的帮助。我将allowDocMimeTypes()替换为您的mime类型(),并从upload\u覆盖中删除了“mime”数组,但它仍然不起作用。我的php日志也没有显示任何有用的内容。这就好像完全忽略了上载mime。请确保上载的文档使用正确的mime类型(尝试在word中创建新文件)。不正确的文件头将导致WordPress拒绝这些文件