Обработка oEmbed для произвольного текста
Если нам нужно обработать шорткод [embed]
или авто-встраивание ссылки в тексте. То этот текст нужно будет обработать отдельно. Базовая обработка с помощью функций do_shortcodes() или apply_shortcodes() oEmbed не включает. И по умолчанию такая обработка делается только для хука the_content
.
Соответственно у нас есть 2 варианта:
Вариант 1
Простой, но может не подходить из-за излишней нагруженности хука the_content - на нём обычно висит куча всего, что может оказаться лишним.
$text = ' Some text to check custom shortcode adding. [embed]https://my-youtube.com/watch?v=lWzMBLoLIAc[/embed] https://my-youtube.com/watch?v=uDQwKtkXV-0 '; $text = apply_filters( 'the_content', $text ); echo $text;
Вариант 2: Точечный подход
Делаем с текстом только то что нам нужно:
$text = ' Some text to check custom shortcode adding. [embed]https://my-youtube.com/watch?v=lWzMBLoLIAc[/embed] https://my-youtube.com/watch?v=uDQwKtkXV-0 '; $text = $GLOBALS['wp_embed']->run_shortcode( $text ); // shortcode $text = $GLOBALS['wp_embed']->autoembed( $text ); // oEmbed URLs //$text = apply_shortcodes( $text ); $text = wpautop( $text ); echo $text;
—
Эта заметка встроена в: oEmbed в WordPress