Wordpress Media Manager - límite a un tipo de mime específico

4

Estoy trabajando en un CPT en el que necesito agregar algunos campos de metadatos con los que el usuario puede adjuntar medios. Existe una condición para adjuntar cualquier archivo adjunto de tipo mime a una publicación única.

Creé dos campos meta, 1) tipo de adjunto y 2) adjunto. En Tipo de archivo adjunto, el usuario puede seleccionar tipos de archivo adjunto, como documento, pdf, audio, video o imagen. Y, en el segundo campo, el usuario puede seleccionar los medios del administrador de medios.

Ahora, estoy enfrentando el problema de que algún usuario del tiempo está seleccionando diferentes tipos de medios que el tipo de adjunto seleccionado. Al igual, se seleccionó el tipo de archivo adjunto Video y se adjuntó el archivo de imagen o audio con la publicación.

¿Cómo puedo limitar el Administrador de medios a un tipo mime específico? Al igual que si el usuario está seleccionado el Audio, el Administrador de medios solo mostrará los archivos de audio solamente. O bien, si el usuario selecciona la imagen, muestra las imágenes solo en el Administrador de medios.

    
pregunta cyberwani 23.05.2013 - 11:30

3 respuestas

3

Esto no es una solución completa, es solo una dirección para que trabajes con el cargador de medios

Primero, necesita saber cómo implementar Media Uploader en su plugin / tema. Puede aprender eso del archivo: wp-admin/js/custom-background.js que usa WP para la página de fondo personalizada.

Si eso es demasiado difícil de entender, entonces lee este tutorial , explica cada línea de código por ti.

En segundo lugar, cuando implementas Media Uploader, sabes que hay un objeto de opción para el marco de medios. Ese objeto contiene una lista de muchas opciones, que no están documentadas. Solo podemos verlos viendo el archivo wp-includes/js/media-views.js .

Para tu necesidad, necesitas pasar una opción type para library , algo como esto:

// Create a frame only if needed
if ( !frame )
{
    var frameOptions = ( {
        className   : 'media-frame rwmb-file-frame',
        multiple    : true,
        title       : 'Select files'
    } );

    if ( mimeType )
    {
        frameOptions.library = {
            type : mimeType
        };
    }

    frame = wp.media( frameOptions );
}

// Open media uploader
frame.open();

// Remove all attached 'select' event
frame.off( 'select' );

// Handle selection
frame.on( 'select', function() {... } );

Hay una variable en el código: mimeType , y necesitas pasarle un valor usando jQuery cuando el usuario elige un tipo del primer campo de entrada.

    
respondido por el Anh Tran 29.05.2013 - 04:38
0

Ya que desea limitar a su usuario para ver el archivo multimedia en función del tipo de archivo adjunto personalizado.

1.Para obtener meta meta

get_post_meta($post->ID,'attachment-type',true)

2.A Cambie el valor predeterminado Vista del código de la unidad de la Biblioteca de medios utilizando attacment -type post meta

    
respondido por el Ravinder Kumar 23.05.2013 - 15:41
0

$post->ID se refiere al adjunto actual. Los archivos adjuntos, publicaciones, páginas, menús, se consideran "publicaciones" mediante wordpress.

$type = get_post_mime_type($post->ID);

    if ( $type == "image/jpeg" or $type == "image/gif" or $type == "image/png")
    {
     echo 'This attachment is a '.$type.' attachment.';
    }    

No es exactamente una respuesta al problema general, pero esto demuestra cómo puedes obtener el tipo mime de un archivo adjunto o "publicar" al menos usando php.

para hacerlo con jquery, tal vez:

Si tiene un enlace pre-renderizado disponible, puede usar jquery para encontrar la extensión del archivo que se encuentra al final del enlace y condicional en función de eso.

    
respondido por el Vigs 09.07.2013 - 15:13

Lea otras preguntas en las etiquetas