Как изменить форматирование HTML из OEMBed Link?
-
22-10-2019 - |
Вопрос
Я пытаюсь добавить интеграцию DeviantArt Oembed в пользовательскую тему.
Я обнаружил, что первый шаг довольно прост, я добавил
wp_oembed_add_provider( 'http://*.deviantart.com/#/d*', 'http://backend.deviantart.com/oembed' );
к теме functions.php.
Теперь я хотел бы изменить выход HTML по умолчанию, чтобы добавить больше информации, доступной в ответе Deviantart JSON (Ссылка на DeviantArt), как Author_Name, Author_url и т. Д.
Если я хорошо изучал код WP, который управляет выходом, находится внутри функции data2html в Class-oembed.php, но я не люблю менять код здесь.
Как я могу добавить функцию в свою тему, чтобы достичь желаемого результата?
Решение
WP_oEmbed::data2html()
имеет фильтр, oembed_dataparse
. Анкет Вы можете использовать это для изменения вывода на основе дополнительных данных, которые передаются в качестве второго параметра.
Например, что -то подобное:
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;
}