MNews Pro 主题在开发自定义上传媒体文件到 WordPress 的媒体库时,进行文件后缀的判断,以防止出现不支持的文件后缀。但是在获取相关媒体文件时,使用 WP_Query 获取文件时只能通过 mime 类型来获取不同类型的文件,所以后缀是不起作用。
有些文件后缀和 mime 类型是一样的,比如 gif 后缀的文件 mime 则为 image/gif,有些则不一样,比如 mp3 后缀的文件 mime 则为 audio/mpeg,这时我们需要在「主题选项——常规——媒体」中的「允许上传的音频类型」中输入:mp3|mpeg,将 mime 后面的 mpeg 作为后缀添加到选项中,这样就在上传文件和获取中都有效。
array(90) {
["jpg|jpeg|jpe"] => "image/jpeg"
["gif"] => "image/gif"
["png"] => "image/png"
["bmp"] => "image/bmp"
["tiff|tif"] => "image/tiff"
["ico"] => "image/x-icon"
["asf|asx"] => "video/x-ms-asf"
["wmv"] => "video/x-ms-wmv"
["wmx"] => "video/x-ms-wmx"
["wm"] => "video/x-ms-wm"
["avi"] => "video/avi"
["divx"] => "video/divx"
["flv"] => "video/x-flv"
["mov|qt"] => "video/quicktime"
["mpeg|mpg|mpe"] => "video/mpeg"
["mp4|m4v"] => "video/mp4"
["ogv"] => "video/ogg"
["webm"] => "video/webm"
["mkv"] => "video/x-matroska"
["3gp|3gpp"] => "video/3gpp"
["3g2|3gp2"] => "video/3gpp2"
["txt|asc|c|cc|h|srt"] => "text/plain"
["csv"] => "text/csv"
["tsv"] => "text/tab-separated-values"
["ics"] => "text/calendar"
["rtx"] => "text/richtext"
["css"] => "text/css"
["htm|html"] => "text/html"
["vtt"] => "text/vtt"
["dfxp"] => "application/ttaf+xml"
["mp3|m4a|m4b"] => "audio/mpeg"
["aac"] => "audio/aac"
["ra|ram"] => "audio/x-realaudio"
["wav"] => "audio/wav"
["ogg|oga"] => "audio/ogg"
["flac"] => "audio/flac"
["mid|midi"] => "audio/midi"
["wma"] => "audio/x-ms-wma"
["wax"] => "audio/x-ms-wax"
["mka"] => "audio/x-matroska"
["rtf"] => "application/rtf"
["js"] => "application/javascript"
["pdf"] => "application/pdf"
["class"] => "application/java"
["tar"] => "application/x-tar"
["zip"] => "application/zip"
["gz|gzip"] => "application/x-gzip"
["rar"] => "application/rar"
["7z"] => "application/x-7z-compressed"
["psd"] => "application/octet-stream"
["xcf"] => "application/octet-stream"
["doc"] => "application/msword"
["pot|pps|ppt"] => "application/vnd.ms-powerpoint"
["wri"] => "application/vnd.ms-write"
["xla|xls|xlt|xlw"] => "application/vnd.ms-excel"
["mdb"] => "application/vnd.ms-access"
["mpp"] => "application/vnd.ms-project"
["docx"] => "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
["docm"] => "application/vnd.ms-word.document.macroEnabled.12"
["dotx"] => "application/vnd.openxmlformats-officedocument.wordprocessingml.template"
["dotm"] => "application/vnd.ms-word.template.macroEnabled.12"
["xlsx"] => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
["xlsm"] => "application/vnd.ms-excel.sheet.macroEnabled.12"
["xlsb"] => "application/vnd.ms-excel.sheet.binary.macroEnabled.12"
["xltx"] => "application/vnd.openxmlformats-officedocument.spreadsheetml.template"
["xltm"] => "application/vnd.ms-excel.template.macroEnabled.12"
["xlam"] => "application/vnd.ms-excel.addin.macroEnabled.12"
["pptx"] => "application/vnd.openxmlformats-officedocument.presentationml.presentation"
["pptm"] => "application/vnd.ms-powerpoint.presentation.macroEnabled.12"
["ppsx"] => "application/vnd.openxmlformats-officedocument.presentationml.slideshow"
["ppsm"] => "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"
["potx"] => "application/vnd.openxmlformats-officedocument.presentationml.template"
["potm"] => "application/vnd.ms-powerpoint.template.macroEnabled.12"
["ppam"] => "application/vnd.ms-powerpoint.addin.macroEnabled.12"
["sldx"] => "application/vnd.openxmlformats-officedocument.presentationml.slide"
["sldm"] => "application/vnd.ms-powerpoint.slide.macroEnabled.12"
["onetoc|onetoc2|onetmp|onepkg"] => "application/onenote"
["oxps"] => "application/oxps"
["xps"] => "application/vnd.ms-xpsdocument"
["odt"] => "application/vnd.oasis.opendocument.text"
["odp"] => "application/vnd.oasis.opendocument.presentation"
["ods"] => "application/vnd.oasis.opendocument.spreadsheet"
["odg"] => "application/vnd.oasis.opendocument.graphics"
["odc"] => "application/vnd.oasis.opendocument.chart"
["odb"] => "application/vnd.oasis.opendocument.database"
["odf"] => "application/vnd.oasis.opendocument.formula"
["wp|wpd"] => "application/wordperfect"
["key"] => "application/vnd.apple.keynote"
["numbers"] => "application/vnd.apple.numbers"
["pages"] => "application/vnd.apple.pages"
}