¿Cómo modificar el formateo HTML de un enlace más Úbro?
-
22-10-2019 - |
Pregunta
Estoy tratando de agregar la integración de deviantArt ombed a un tema personalizado.
Descubrí que el primer paso es bastante fácil, agregué
wp_oembed_add_provider( 'http://*.deviantart.com/#/d*', 'http://backend.deviantart.com/oembed' );
al tema funciones.php.
Ahora, me gustaría cambiar la salida HTML predeterminada para agregar más información, disponible en la respuesta de Deviantart JSON (Referencia de deviantart), como autor_name, autor_url, etc.
Si he estudiado bien el código WP que administra la salida es la función interior data2html en class-oembed.php, pero no me gusta cambiar el código aquí.
¿Cómo puedo agregar una función a mi tema para lograr el resultado deseado?
Solución
WP_oEmbed::data2html()
tiene un filtro, oembed_dataparse
. Puede usar esto para cambiar la salida, en función de los datos adicionales que se pasan como el segundo parámetro.
Algo como esto, por ejemplo:
add_filter( 'oembed_dataparse', 'wpse17461_oembed_dataparse', 10, 3 );
function wpse17461_oembed_dataparse( $html, $data, $url )
{
if ( FALSE !== strpos( $url, 'deviantart.com' ) ) {
return $html . '<br/>Author: ' . $data->author_name;
}
return $html;
}