embed_oembed_html
Дозволяє змінити закешований HTML oEmbed під час виведення на екран.
Що таке oEmbed читайте тут: oEmbed у WordPress
За створення метаданих відповідає метод WP_Embed::shortcode() .
Використання
add_filter( 'embed_oembed_html', 'wp_kama_embed_oembed_html_filter', 10, 4); /** * Function for `embed_oembed_html` filter-hook. * * @param string|false $cache Завантажений HTML-результат, що проходить в post meta. * @param string $url Відомий URL-адреса. * @param array $attr На array of shortcode attributes. * @param int $post_ID Post ID. * * @return string|false */ function wp_kama_embed_oembed_html_filter( $cache, $url, $attr, $post_ID ){ // Filter... return $cache; }
-
$cache
(рядок/false) - Закешований HTML відповіді, що зберігається в метаданих запису.
-
$url
(рядок) - Посилання на сутність (YouTube ролик і т.д.).
-
$attr
(масив) - Масив із атрибутами шорткоду (передустановками).
-
$post_ID
(число) - ID запису.
Приклади
#1 Додамо обгортку всім oEmbed
add_filter( 'embed_oembed_html', 'add_my_wrapper_all_oembed'); function add_my_wrapper_all_oembed( $cache ) { return sprintf( '<div class="my-class-wrapper">%s</div>', $cache ); }
#2 Додамо обгортку тільки для YouTube плеєра
add_filter( 'embed_oembed_html', 'add_youtube_wrap_oembed', 10, 2); function add_youtube_wrap_oembed( $cached, $url ) { if ( false !== strpos( $url, "://youtube.com" ) || false !== strpos( $url, "://youtu.be" ) ) { return sprintf( '<div class="youtube-wrapper">%s</div>', $cached ); } return $cached; }
список змін
З версії 2.9.0 | Введено. |
Де викликається хук
embed_oembed_html
Де використовується хук у WordPress
wp-includes/default-filters.php 640
add_filter( 'embed_oembed_html', 'wp_maybe_enqueue_oembed_host_js' );