Обработка oEmbed в WordPress: лучшие методы для текста

Обработка oEmbed для произвольного текста

Когда нам нужно обработать шорткод </code> или автоматически встроить ссылку в текст, требуется отдельная обработка. Базовая обработка с помощью функций <code>do_shortcodes()</code> и <code>apply_shortcodes()</code> не включает в себя oEmbed. По умолчанию такая обработка осуществляется только для хука <code>the_content</code>.</p>
<h2>У нас есть 2 варианта:</h2>
<h3>Вариант 1: Простой, но нагрузочный</h3>
<p>Этот метод прост, но может создавать избыточную нагрузку на хук <code>the_content</code>, так как он обычно содержит много дополнительных элементов, которые могут быть ненужными.</p>
<pre><code class="language-php">$text = '
Некоторый текст для проверки добавления кастомного шорткода.

https://my-youtube.com/watch?v=lWzMBLoLIAc

https://my-youtube.com/watch?v=uDQwKtkXV-0
';

$text = apply_filters('the_content', $text);

echo $text;

Вариант 2: Точный подход

В этом варианте мы выполняем только необходимые операции с текстом:

$text = '
Некоторый текст для проверки добавления кастомного шорткода.

https://my-youtube.com/watch?v=lWzMBLoLIAc

https://my-youtube.com/watch?v=uDQwKtkXV-0
';

$text = $GLOBALS['wp_embed']->run_shortcode($text); // обработка шорткода
$text = $GLOBALS['wp_embed']->autoembed($text);    // автоматическая обработка oEmbed URL

//$text = apply_shortcodes($text); - можно оставить, если необходимо

$text = wpautop($text); // добавляет HTML-теги 

к тексту echo $text;

Примечания

В приведённом коде используются функции WordPress для обработки текста с шорткодами и авто-встраивания ссылок. Функция wpautop() добавляет теги <p>, чтобы текст выглядел более структурированным на странице.

Эти подходы помогут вам правильно обрабатывать oEmbed в вашем контенте WordPress и сделать его более интерактивным.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *