Desarrollo en CMS
¿Cómo subir videos en campos personalizados de WordPress con AJAX?
En un artículo anterior te contábamos cómo insertar videos usando el sistema nativo de WordPress mediante el objeto $wp_embed, lo que es útil cuando usas campos personalizados dentro de una página. Pero descubrimos que esto no funciona a la hora de subirlos por AJAX, para lo que debemos utilizar un sistema distinto.
Dentro de los recovecos del codex de WordPress encontramos un forma de solucionar este problema. Se trata de la función wp_oembed_get, que según leímos devuelve el código embed de la url del medio que solicitamos. El ejemplo de uso muestra que va así:
<?php $embed_code = wp_oembed_get('http://www.youtube.com/watch?v=AbcDeFg123', array('width'=>400)); ?>
En IDA desarrollamos nuestro propio método, el cual también funciona tanto en cargas comunes como en llamados AJAX. Este trabaja haciendo uso del objeto $oembed, dejando la función de esta manera:
function get_the_embed( $url, $args = '' ){
if( !function_exists( '_wp_oembed_get_object' ) ){
require_once(ABSPATH . WPINC . '/class-oembed.php');
}
$oEmbed = _wp_oembed_get_object();
return $oEmbed->get_html( $url, $args );
}
La función se comporta exactamente igual a la anterior devolviendo el código embed de la $url.
Ahora contamos con 3 formas distintas de realizar la misma tarea. El uso de estas técnicas podría variar según el contexto, sin embargo la primera opción para el desarrollador siempre debiese ser la propuesta de forma nativa dada por la plataforma, en este caso el método wp_oembed_get.
¿Conocen otras formas de insertar videos en WordPress?
Autor
Equipo IDA
Equipo IDA
Investigamos las tendencias en proyectos y estrategias digitales para complementarlas con nuestra experiencia en artículos informativos. Nuestro objetivo es aportar al desarrollo del área, discutiendo la efectividad de las tecnologías y técnicas aplicadas.
Artículos relacionados
14 años y 2.550 posts después.
Sabíamos optimizar WordPress como nadie. Por eso lo dejamos
Accesibilidad cognitiva
Estás perdiendo a uno de cada cinco usuarios porque el modo oscuro no es una estrategia de inclusión
Diseño de Experiencia