我正在使用一个函数在媒体上传上创建其他字段。它们只对图像和视频很重要,但如果我的用户正在上传音频,它们将毫无用处,甚至会让我的用户感到困惑。
这是功能:
function give_linked_images_data($html, $id, $caption, $title, $align, $url, $size, $alt = \'\' ){
$classes = \'img image-link\';
if (get_post_meta($id, "pop_title") == \'\') $poptitle = \'\'; else $poptitle = \' data-title="\'. get_post_meta($id, "pop_title", true) .\'"\';
$html = preg_replace(\'/(<a.*?)>/\', \'$1 data-toggle="lightbox" \'. $poptitle .\' \' . $classes . \'" >\', $html);
return $html;
}
这些函数添加了
add_filter(\'image_send_to_editor\',\'give_linked_images_data\',10,8);
。。。我有一个类似的函数
add_filter(\'media_send_to_editor\',\'give_linked_images_data\',10,8);
。。。但它是在视频上运行的
and 音频上传。如何检测正在上载的媒体是否为音频,以禁用自定义字段?
SO网友:Daniel Lemes
I found out how:
$mime_type = get_post_mime_type($post->ID);
// all mime https://codex.wordpress.org/Function_Reference/get_allowed_mime_types
// videos and images only
$permit_mime = array(\'image/jpeg\',\'image/gif\',\'image/png\',\'image/bmp\',\'image/tiff\',\'image/x-icon\',\'video/x-ms-asf\',\'video/x-ms-wmv\',\'video/x-ms-wmx\',\'video/x-ms-wm\',\'video/avi\',\'video/divx\',\'video/x-flv\',\'video/quicktime\',\'video/mpeg\',\'video/mp4\',\'video/ogg\',\'video/webm\',\'video/x-matroska\');
// if is video or image
if (in_array($mime_type, $permit_mime)) {
// the function
}