J'utilise une fonction pour créer des champs supplémentaires sur le téléchargement de média. Ils ne sont importants que pour les images et les vidéos, mais ils sont inutiles et peuvent même dérouter les utilisateurs qui téléchargent de l'audio.
C'est la fonction:
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;
}
Les fonctions sont ajoutées avec
add_filter('image_send_to_editor','give_linked_images_data',10,8);
... et j'ai une fonction similaire en utilisant
add_filter('media_send_to_editor','give_linked_images_data',10,8);
... mais il fonctionne en vidéo et upload audio. Comment détecter si le média en cours de téléchargement est de type audio, pour désactiver les champs personnalisés?
Nous pouvons simplifier les contrôles mime type , avec les fonctions boolean suivantes:
wp_attachment_is( 'image', $id )
wp_attachment_is( 'video', $id )
wp_attachment_is( 'audio', $id )
où $id
est l'ID de la pièce jointe.
L'ID de la pièce jointe est en réalité l'un des arguments d'entrée pour le rappel de filtre media_send_to_editor
.
Nous avons également:
wp_attachment_is_image( $id )
c'est un wrapper pour wp_attachment_is( 'image', $id )
.
Références:
J'ai découvert comment:
$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
}