Pregunta sobre Arreglando WordPress de Wordpress:

Solo permitir que se carguen los formatos mp3, jpg, png

Un usuario preguntó 👇

Hola, solo estoy buscando una forma de subir archivos (para usuarios de blogs) solo formateados en mp3, jpg y png. Y evitar wma, wav, … pero también todos los demás formatos: doc pdf …

Vi que podríamos hacerlo modificando el archivo function.php, pero en caso de una actualización, este archivo será reemplazado por uno nuevo que debería editar nuevamente, ¿verdad?

Así que solo busco un método más sostenible.

Versión PHP / MySQL: mysql Ver 15.1 Distribución 10.1.38-MariaDBr | PHP 7.0.33-0 + deb9u3 (fpm-fcgi) Utilice lo siguiente: 5.2 Extensiones en vigor: askimet Nom de l’hébergeur: ga local (développement) Dirección del sitio: en prueba

(@ a2hostinglk)

Hace 1 año, 8 meses

Es sostenible agregar código directamente al archivo de funciones. Sí, necesitarás actualizarlo en el futuro pero la ventaja es que tú eres el encargado de actualizarlo.

Con un plugin de terceros, dependerá de un desarrollador externo para que le proporcione la actualización. ¿Qué pasa si hay una actualización y el proveedor del plugin no actualiza el plugin a tiempo?

(@ a2hostinglk)

Hace 1 año, 8 meses

Es posible que desee considerar la posibilidad de crear su propio plugin personalizado que haga precisamente eso. De esta forma no tendrá que actualizar el archivo de funciones de vez en cuando.

Lanzador de hilos

(@cyrille)

Hace 1 año, 8 meses

Bien, gracias por su respuesta, parchearé el archivo function.php así.

Para automatizar la actualización, escribiré un script diff para actualizar este archivo cuando aparezca la actualización de WP

Una diferencia de base fina funcionaría

cat version.php | grep 'wp_version ='
$wp_version = '5.2.2';

Para agregar la funcionalidad, encontré que en la web

function custom_mime_types( $mimes ){
        // Authorzied SVG
        $mimes['svg'] = 'image/svg+xml'; 

        // Forbid PDF
        unset( $mimes['pdf'] );
        return $mimes;
}
add_filter('upload_mimes', 'custom_mime_types', 1, 1);

¿No es mejor prevenir todo tipo de mimos antes y no ser autorizados después? ¿Crees que eso es bueno?

function custom_mime_types( $mimes ){
      
  // Forbiden ALL
  unset( $mimes );
       

  // OK 4 svg, jpg and mp3 only
        $mimes['svg'] =   'image/svg+xml'; 
        $mimes['jpg'] =  'image/jpeg, image/pjpeg
        $mimes['jpeg'] = 'image/jpeg, image/pjpeg
        $mimes['png'] =  'image/png
        $mimes['mp3] =  'audio/mpeg3, audio/x-mpeg-3, video/mpeg, video/x-mpeg ';
 return $mimes;
}
add_filter('upload_mimes', 'custom_mime_types', 1, 1);

¿Crees que es correcto?

Esta respuesta fue modificada hace 1 año, 8 meses por. Esta respuesta fue modificada hace 1 año, 8 meses por. Lanzador de hilos

(@cyrille)

Hace 1 año, 8 meses

SOLUCIONADO Finalmente, crear un plugin es la mejor manera de mantener la actualización de WP

Así que escribo eso y parece funcionar perfectamente.

<?php
/**
* Plugin Name: Custom mime types
* Plugin URI: https://crust.ovh
* Description: Block upload Mime Types
* Version: 1.0
* Author: crust
* Author URI: http://crust.ovh
**/
function custom_mime_types( $mimes ){
  // Forbiden ALL
     unset( $mimes );
  // OK 4 gif, png, jpg and mp3 only
     $mimes['jpg|jpeg|jpe'] = 'image/jpeg';
     $mimes['gif' ] = 'image/gif';
     $mimes['png'] = 'image/png'; 
     $mimes['mp3|m4a|m4b'] = 'audio/mpeg';
// List mime types available here
// https://codex.wordpress.org/Function_Reference/get_allowed_mime_types
 return $mimes;
}
add_filter('upload_mimes', 'custom_mime_types', 1, 1);
?>

Esta respuesta fue modificada hace 1 año, 8 meses por. Esta respuesta fue modificada hace 1 año, 8 meses por. Esta respuesta fue modificada hace 1 año, 8 meses por.

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *