Cómo cambiar el tamaño del reproductor incrustado de WordPress o mostrar solo el botón de reproducción

2

A pesar de que intenté alterar el ancho del tamaño del reproductor incrustado [embed] que se ve así     Usar[embedwidth="50" height="50"] , pero no importa qué valor lo use, no cambiará el tamaño. WordPress dice aquí que debería funcionar.

¿Qué más puedo hacer para cambiar el tamaño? Sólo quiero mostrar el botón de reproducción, nada más.

Y no quiero cambiar el ancho del contenido como se sugiere en otras publicaciones en este sitio web. Quiero que este cambio solo afecte al reproductor integrado.

    
pregunta whitelord 28.05.2016 - 17:51

1 respuesta

5

Supongo que estás hablando de incrustar archivos de audio , como:

[embed]http://s.w.org/images/core/3.9/AintMisbehavin.mp3[/embed]

El controlador audio embed se registra dentro de wp_maybe_load_embeds() y se filtra a través del filtro wp_embed_handler_audio .

Entonces, dentro de WP_Embed::shortcode() esto se genera para:

[audio src="http://s.w.org/images/core/3.9/AintMisbehavin.mp3"/]

entoncesalgunosdelos los métodos mencionados aquí para el código corto [audio] deberían funcionar.

Ya que estamos usando el código corto [embed] , también podríamos agregar nuestro propio contenedor para admitir el parámetro ancho :

add_filter( 'wp_embed_handler_audio', function( $html, $attr, $url, $rawattr )
{
    if( isset( $rawattr['width'] ) )
    {
        $html = sprintf( 
            '<div class="wpse_audio_embed_wrapper%s" style="width:%dpx">%s</div>', 
            $class = 1 * $rawattr['width'] < 120 ? ' audio-button-only' : '',
            $rawattr['width'], 
            $html
        );
    }
    return $html;
}, 10, 4 );

Aquí usamos $rawattr ya que solo queremos verificar la entrada del usuario.

Añadimos la clase audio-button-only a la envoltura si el ancho es inferior a 120.

Luego, inyectamos el estilo en línea después de la hoja de estilo mediaelement para ocultar las partes relevantes, como duración y volumen :

add_action( 'wp_enqueue_scripts', function()
{
    wp_add_inline_style( 
        'mediaelement', 
        ' .audio-button-only .mejs-volume-button, 
          .audio-button-only .mejs-duration, 
          .audio-button-only .mejs-currenttime, 
          .audio-button-only .mejs-horizontal-volume-slider 
          { display: none !important; };'
    );
} );

Por supuesto, esto podría agregarse a la hoja de estilo relevante.

También podríamos ampliar este enfoque para admitir otras versiones de tamaño pequeño con las clases correspondientes.

Ahora podemos usar el parámetro ancho dentro de [embed] para archivos de audio:

[embed width="28"]http://s.w.org/images/core/3.9/AintMisbehavin.mp3[/embed]

Output:

Botón de reproducción:

Botóndepausa:

Probado en el tema Veinte Dieciséis.

    
respondido por el birgire 28.05.2016 - 19:51

Lea otras preguntas en las etiquetas