Cómo insertar un video de YouTube en WordPress con un shortcode personalizado

Si quieres insertar videos de YouTube en cualquier parte de tu sitio WordPress de forma sencilla y sin depender de plugins externos, puedes crear un shortcode personalizado. Este shortcode te permitirá incrustar videos de forma rápida en entradas, páginas o widgets.

A continuación verás cómo hacerlo con un ejemplo de código que puedes copiar y pegar en el archivo functions.php del tema activo (preferiblemente en un Child Theme, para conservar los cambios al actualizar).

// Crear un shortcode para insertar videos de YouTube con iframe
add_shortcode('youtube', 'youtube_shortcode');
function youtube_shortcode($atts) {
    $atts = shortcode_atts(array(
        'src'   => '',
        'width' => '560',
        'height'=> '315',
    ), $atts, 'youtube');

    if (empty($atts['src'])) {
        return ''; // No mostrar nada si no hay URL
    }

    $embed_url = esc_url($atts['src']);
    $width = intval($atts['width']);
    $height = intval($atts['height']);

    ob_start();
    ?>
    <div class="youtube-container" style="max-width:100%;">
        <iframe 
            width="<?php echo $width; ?>" 
            height="<?php echo $height; ?>" 
            src="<?php echo $embed_url; ?>" 
            frameborder="0" 
            allowfullscreen 
            allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture">
        </iframe>
    </div>
    <?php
    return ob_get_clean();
}

Cómo insertar el shortcode en tus contenidos
Simplemente añade esto en cualquier entrada o página:

[youtube src="https://www.youtube.com/embed/ID_DEL_VIDEO"]

Ejemplo completo:

[youtube src="https://www.youtube.com/embed/ID_DEL_VIDEO" width="640" height="360"]