WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Обработка 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
Комментариев нет
    Войти