Soporte » WordPress Avanzado » Renderizar el bloque de Youtube en Gutenberg

  • Resuelto tamarazambrana

    (@tamarazambrana)


    Estoy intentando cambiar lo que muestra el bloque de Youtube. Lo que quiero hacer en realidad es un poco más complejo que esto pero he intentado al menos ver si este código funcionaba y nada. ¿Se puede renderizar el bloque de Youtube?

    function ree_youtube_player( $block_content, $block ) {
      if( "core-embed/youtube" === $block['blockName'] ) {
        $block_content = str_replace( '?feature=oembed', '?feature=oembed&rel=0', $block_content );
      }
      return $block_content;
    }
    add_filter( 'render_block', 'ree_youtube_player', 10, 2);

    Esto sin embargo si funciona para el bloque de párrafo:

    function ree_block_paragraph( $block_content, $block ) {
        if ( $block['blockName'] === 'core/paragraph' ) {
            $content = '<div class="wp-block-paragraph aaaa">';
            $content .= $block_content;
            $content .= '</div>';
            return $content;
        }
        return $block_content;
    }
    
    add_filter( 'render_block', 'ree_block_paragraph', 10, 2 );

    Un saludo y gracias

    • Este debate fue modificado hace 5 meses, 1 semana por tamarazambrana.
Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • kallookoo

    (@kallookoo)

    Hola @tamarazambrana

    Si puedes lo unico que el «blockName» es «core/embed» y tendras que comprobar si «providerNameSlug» es «youtube».

    
    if (
        'core/embed' === $block['blockName'] &&
        'youtube' === $block['attrs']['providerNameSlug']
    ) {
        $block_content = str_replace( 
            '?feature=oembed', 
            '?feature=oembed&rel=0', 
            $block_content 
        );
    }
    

    Ahora bien, dependiendo de lo que quieras modificar te diria que creases tu propio bloque para controlar mejor el contenido en vez de tirar del str_replace, etc… o utilizar por ejemplo este plugin; https://wordpress.org/plugins/youtube-embed-plus/

    Iniciador del debate tamarazambrana

    (@tamarazambrana)

    @kallookoo muchas gracias! funciona!

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • Debes estar registrado para responder a este debate.