El módulo de video de Divi tiene una limitación importante: el campo de la URL del video no acepta contenido dinámico de forma nativa. Esto significa que si quieres usar ese módulo en el Theme Builder para mostrar el video de cada post del blog, necesitas un pequeño snippet PHP. En este tutorial te damos el código listo para copiar y te explicamos exactamente dónde pegarlo.
Nota: si usas el plugin Divi Pixel en tu sitio, no necesitas este snippet — el plugin activa esta función de forma nativa desde sus ajustes.
¿Por qué el video dinámico no funciona de forma nativa en Divi?
El módulo de video de Divi permite cargar un archivo MP4 o una URL de YouTube. El problema es que ese campo de URL no está marcado como «dynamic_content» en el código del módulo, por lo que no aparece entre las opciones de contenido dinámico cuando intentas vincularlo a un campo de ACF o a los metadatos del post.
El resultado: si diseñas una plantilla en el Theme Builder para mostrar el video tutorial de cada entrada, el módulo de video siempre muestra la misma URL, sin importar en qué post estés. Esto inutiliza el módulo en plantillas reutilizables.

Paso 0: Crear el campo de video en ACF
Antes de activar el snippet, necesitas un lugar donde guardar la URL del video para cada entrada. La forma más limpia es usar Advanced Custom Fields:
- Ve a Campos personalizados → Añadir nuevo.
- Crea un campo de tipo URL con el nombre «Video Tutorial» y el slug
video_tutorial. - Asigna el grupo al tipo de contenido correcto (post, CPT, etc.).
- Guarda y rellena la URL del video en cada entrada que lo necesite.
También puedes usar el campo personalizado nativo de WordPress (sin ACF) desde el editor clásico. El slug del campo es lo que importa — en este ejemplo usamos video_tutorial.
Paso 1: Hacer copia de seguridad
Cualquier vez que vayas a agregar código PHP a tu sitio, haz una una copia de seguridad completa antes. Puedes usar UpdraftPlus (gratis en el repositorio de WordPress) o el backup del panel de tu hosting. Un error de sintaxis en el snippet puede dejar el sitio inaccesible.
Paso 2: Instalar el plugin Code Snippets
El plugin Code Snippets te permite agregar PHP personalizado directamente desde el panel de WordPress, sin editar el functions.php del tema. Esto es más seguro porque:
- Cada snippet se puede activar y desactivar individualmente.
- Si hay un error de sintaxis, el plugin lo detecta y evita activarlo.
- Los snippets sobreviven cambios de tema (a diferencia de
functions.php).
Paso 3: Insertar el snippet para video dinámico
Ve a Code Snippets → Añadir nuevo fragmento. Ponle un nombre descriptivo (por ejemplo: «Video dinámico en módulo Divi») y pega el siguiente código:
// Video dinámico en módulo et_pb_video de Divi
add_filter( 'et_builder_get_parent_modules', function( $modules ) {
foreach ( $modules as $module_slug => $module ) {
if ( $module_slug === 'et_pb_video' && isset( $module->fields_unprocessed ) ) {
$module->fields_unprocessed['src']['dynamic_content'] = 'url';
$module->fields_unprocessed['src_webm']['dynamic_content'] = 'url';
}
}
return $modules;
} );Activa el snippet y guarda. Esto le dice a Divi que el campo src del módulo de video acepta URLs dinámicas.

Paso 4: Vincular el campo ACF en el Theme Builder
Una vez activo el snippet, entra al Theme Builder de Divi y edita la plantilla donde quieres usar el video dinámico. Agrega el módulo de video, entra en sus opciones y ahora verás el ícono de contenido dinámico (dólar) activo en el campo de URL del video.

Haz clic en el ícono, selecciona «Campo personalizado» y elige el campo video_tutorial que creaste con ACF. A partir de ese momento, cada post cargará su propio video automáticamente en la plantilla.
Cómo hacerlo desde functions.php del child theme
Si prefieres el enfoque sin plugins, agrega exactamente el mismo código al functions.php de tu tema hijo. La ventaja es que no necesitas un plugin adicional; la desventaja es que si cambias de tema, el snippet se pierde.
¿Divi 5 cambió algo respecto al video dinámico?
En Divi 5 la arquitectura interna del builder cambió significativamente, pero el módulo de video (et_pb_video) sigue existiendo y el hook et_builder_get_parent_modules sigue siendo compatible. Si en algún momento el snippet deja de funcionar con una actualización de Divi 5, la alternativa es usar el campo personalizado directamente desde el nuevo sistema de contenido dinámico de Divi 5, que tiene acceso directo a los metadatos del post.
Usos avanzados del video dinámico en Divi
Layout de cursos con video por lección
Si tienes un CPT de cursos o lecciones, puedes guardar la URL del video de cada lección en un campo ACF y mostrarla dinámicamente con este snippet. El resultado es un template de lección completamente reutilizable.
Blog con video tutorial en cada post
Exactamente el caso de UXDivi: cada post del blog puede tener un campo video_tutorial con la URL de YouTube del tutorial, y el Theme Builder muestra automáticamente el video correcto en cada entrada sin duplicar plantillas.
Portfolio con video de presentación
Un CPT de proyectos puede incluir un video de demo o showreel por proyecto, vinculado dinámicamente al módulo de video en la plantilla individual del portfolio.
¿Quieres aprender a construir layouts dinámicos completos con ACF, CPT y el Theme Builder de Divi? Explora los tutoriales premium o accede a todo con el plan de membresía UXDivi.
Rendimiento: combinar video dinámico con lazy loading
Una preocupación válida al usar el módulo de video de Divi en el Theme Builder es que cada post del blog cargará el iframe de YouTube o Vimeo al abrir la página, incluso si el usuario nunca hace scroll hasta ese módulo. Esto puede afectar el LCP (Largest Contentful Paint) y la velocidad general.
La solución más efectiva es activar el atributo loading="lazy" en el iframe del video. Puedes hacerlo con un pequeño filtro PHP adicional en tu child theme o mediante un plugin de optimización como WP Rocket o Perfmatters, que tienen opciones específicas para diferir la carga de iframes de YouTube y Vimeo.
Otra opción es combinar este snippet con el plugin Divi Video Lite, que reemplaza el iframe real por una imagen thumbnail del video y solo carga el reproductor completo cuando el usuario hace clic. Esto reduce el peso inicial de la página de forma considerable sin sacrificar la funcionalidad del video dinámico.
Preguntas frecuentes sobre video dinámico en Divi
¿El snippet funciona con videos de Vimeo además de YouTube?
Sí. El campo src del módulo de video de Divi acepta URLs de YouTube, Vimeo y archivos MP4 directos. El snippet solo activa la opción dinámica del campo, independientemente del tipo de URL que guardes en ACF.
¿Puedo usar esto para cargar videos diferentes según el usuario?
El snippet hace el campo dinámico respecto a los metadatos del post, no del usuario. Para lógica condicional por usuario (por ejemplo, mostrar un video premium solo a miembros) necesitarías combinar esto con un plugin de membresía y condicionales PHP adicionales.
¿Qué pasa si el campo de ACF está vacío para un post?
Si el campo está vacío, el módulo de video no cargará ningún video — simplemente no renderizará el reproductor. Puedes combinar esto con la función de visibilidad condicional de Divi para ocultar el módulo completo si el campo está vacío.
Conclusión
Activar el video dinámico en Divi requiere menos de 10 líneas de código y transforma el módulo de video en una pieza totalmente reutilizable en el Theme Builder. Combínalo con un campo ACF de tipo URL y tienes un sistema de plantillas de video completamente dinámico. Si además usas Divi Pixel, la funcionalidad viene incluida sin código adicional.


Comentarios
5 comentariosPara dejar un comentario, accede a tu cuenta de UXDivi.
Acceder a mi cuenta →Excelente, lo que estaba buscando, buen tutorial, Gracias por tu excelente trabajo.
hola, muy agradecido, una consulta, hice todo paso a paso pero al cargar el campo de oembed no funciona par poner videos de youtube?
Que tal pipe, vale, esto es porque debes colocar el enlace del video, no el código embed. 😊🖐
buenas tardes, tendran un tutorial para poner videos como cabaceras para una pagina
Que tal Rafael, claro que sí, mira este: https://uxdivi.com/tutoriales-premium/como-poner-video-de-vimeo-de-fondo-en-seccion-en-divi