background preloader

Medias

Facebook Twitter

Augmenter la taille limite de téléchargement des médias sur WordPress. Interdire l'upload de vidéo et de son sur WordPress. La gestion des médias sur WordPress permet d’envoyer un grand nombre de format de fichiers. Par exemple, on peut télécharger des fichiers .jpg, .png; .giff, .tiff, .doc, .pdf ou encore . mp3. Si l’on souhaite restreindre l’envoi de certains formats, nous pouvons utiliser le filtre upload_mimes de WordPress pour filtrer les formats.

C’est grâce à ce filtre que nous allons pouvoir interdire l’envoi de fichier vidéo et son. Copier le code ci-dessous dans le fichier functions.php présent à la racine de votre thème : add_filter( 'upload_mimes','gkp_restrict_mime', 999 );function gkp_restrict_mime($mimes) { if( ! Current_user_can( 'administrator' ) ) { $forbidden_mimes = array( 'asf|asx|wax|wmv|wmx', 'avi', 'divx', 'flv', 'mov|qt', 'mpeg|mpg|mpe' ); foreach( $forbidden_mimes as $fm ) { if( isset( $mimes[$fm] ) ) unset( $mimes[$fm] ); } } return $mimes;} Ajouter des filtres par MIME type dans les médias WordPress. Dans la bibliothèque des médias, WordPress propose un seul filtre par image au niveau des types de fichier. Je vous propose d’ajouter de nouveaux filtres en fonction d’un MIME type précis. Voici le résultat final dans lequel j’ai uploadé 3 fichiers : un .zip, un .rar et un .pdf.

Nous allons ajouter dans WordPress tous les MIME types que vous utilisez avec mise à jour et gestion d’un cache. Ajout des MIME type dans la liste des filtres La première partie consiste à ajouter les MIME types dans la liste des filtres sur la page des médias. Copier le code ci-dessous dans le fichier functions.php présent à la racine de votre thème : En fait, grâce à la fonction request_post_mime_types, nous réalisons une requête en BDD qui nous renvoie tous les MIME type présents (hormis « image » que WordPress gère déjà).

On associe cette fonction aux hooks add_attachment et edit_attachment. Suppression des MIME type dans la liste des filtres Vous voilà enfin avec vos médias filtrés par type. Gestionnaire des médias sans charger l'éditeur de WordPress. Vous avez la possibilité, lors de la création d’un « Custom Post Type » (au sein d’un plugin par exemple) de définir les modules que vous souhaitez charger ou non. Lorsque vous décidez de ne pas afficher l’éditeur visuel de WordPress, le gestionnaire des médias n’est plus disponible. Si vous souhaitez faire appel à la popup de la bibliothèque de médias sans charger l’éditeur principal, il est nécessaire d’utiliser une astuce en passant par la création d’une métabox. Copier le code suivant dans le fichier functions.php de votre thème : add_action( 'add_meta_boxes', 'gkp_custom_gallery_metaBox' );function gkp_custom_gallery_metaBox() { add_meta_box( 'post_meta', 'Gestion des images', 'custom_gallery_metaBox_html', 'slug-cpt', 'normal', 'high' );}function custom_gallery_metaBox_html() { global $post; echo '<a href="media-upload.php?

Post_id='. $post->ID.' N’oubliez pas de modifier « slug-cpt » par le slug de votre Custom Post Type ! Ajouter automatiquement des valeurs par défaut aux médias de WordPress. Dans WordPress quand on upload des médias, les champs n’ont ni description, ni titre etc… Il pourrait être interessant de remplir automatiquement et intelligemment ces informations. Dans cette astuce, nous allons aborder deux types de fichier : une image et un fichier zip. Ensuite, libre à vous de faire ce que bon vous semble selon le type de fichier que vous envoyez. Pour commencer, voici un exemple où l’on peut automatiquement fermer les ping et les commentaires, puis modifier le titre du média et ajouter en description le type de fichier : Copier le code ci-dessous dans le fichier functions.php présent à la racine de votre thème : C’est tout, il m’a suffit d’utiliser le hook attachment_fields_to_save pour toucher l’objet $post et modifier facilement tout ce que je veux.

Voici 2 exemples qui vont vous permettre d’appréhender les capacités de cette astuce : Exemple d’utilisation avec une image Petite démo avec une image libre de droit que j’ai trouvé dans mes documents : Shortcode WordPress pour vidéo HTML5. Shortcode WordPress pour lecteur audio HTML5. Modifier les dimensions des services oEmbed sur WordPress. Depuis la version 3.5 de WordPress, il n’est plus possible de modifier les dimensions des services utilisant l’API oEmbed.

Pour rappel, oEmbed est une API qui permet, par exemple, de modifier automatiquement l’adresse URL d’une vidéo Youtube en lecteur vidéo. La liste des services supportés par oEmbed est disponible à l’adresse suivante : Auparavant, on pouvait configurer à partir de l’administration (Réglages -> Médias) la largeur et la hauteur maximale d’affichage des services afin de les adapter à notre thème. Administration de la largeur maximale de l’API oEmbed sur WordPress 3.4.2 Pour modifier la largeur et la hauteur des services utilisant l’API oEmbed à partir de WordPress 3.5, il faut insérer le code-ci dessous dans le fichier functions.php présent à racine de votre thème : add_filter('embed_defaults', 'gkp_oembed_defaults');function gkp_oembed_defaults($embed_size) { // /! Autoriser l'upload des medias pour les contributeurs dans WordPress. Un contributeur peut uniquement ajouter, éditer et supprimer ses propres articles qui seront soumis à la validation d’un administrateur ou d’un éditeur.

De plus, il lui est impossible de télécharger des médias. C’est un détail handicapant puisque vos contributeurs ne peuvent donc pas fournir des articles composés d’images alors que ces derniers apportent en général une plus value non négligeable. Heureusement pour nous, l’équipe de WordPress a très bien conçu son CMS puisqu’il est possible de modifier les droits d’un rôle. L’astuce ci-dessous se place dans le fichier functions.php présent à la racine de votre thème. if ( current_user_can('contributor') && !

Current_user_can('upload_files') ) add_action('admin_init', 'allow_upload_contributors');function allow_upload_contributors() { $contributor = get_role('contributor'); $contributor->add_cap('upload_files');} Grâce à cette astuce, le menu Envoyer/Insérer apparaît pour l’intégralité de vos contributeurs. Source : Diije. Permettre le téléchargement de fichier dans l'administration WordPress.