Описание oembed_providers
— Filter
Хук oembed_providers позволяет добавлять или изменять провайдеров oEmbed в WordPress. Он срабатывает при регистрации новых провайдеров и позволяет расширить функциональность встроенного оEmbed.
Примеры использования
Пример добавления нового провайдера oEmbed для Vimeo:
add_filter('oembed_providers', function($providers) {
$providers[] = array(
'provider_name' => 'Vimeo',
'provider_url' => 'https://vimeo.com/',
'patterns' => array('https://vimeo.com/*'),
'provider_icon' => 'https://vimeo.com/favicon.ico'
);
return $providers;
});
В этом примере мы добавляем Vimeo как новый провайдер oEmbed с соответствующими шаблонами URL.
Пример изменения существующего провайдера oEmbed:
add_filter('oembed_providers', function($providers) {
foreach ($providers as &$provider) {
if ($provider['provider_name'] === 'YouTube') {
$provider['patterns'][] = 'https://youtu.be/*';
}
}
return $providers;
});
Здесь мы добавляем новый шаблон URL для существующего провайдера YouTube.
Пример удаления провайдера oEmbed:
add_filter('oembed_providers', function($providers) {
return array_filter($providers, function($provider) {
return $provider['provider_name'] !== 'SomeProvider';
});
});
В данном примере мы удаляем провайдера oEmbed с именем ‘SomeProvider’ из списка.
— Лучшие практики
– Использование
Лучше всего использовать этот хук, когда необходимо интегрировать новые источники контента через oEmbed
– Производительность
Хук не должен значительно влиять на производительность, так как добавление провайдеров oEmbed обычно не является ресурсоемким процессом
– Предупреждения
Убедитесь, что новые провайдеры oEmbed корректно обрабатывают запросы для предотвращения ошибок на сайте
Альтернативы
Тип: function
Эта функция позволяет добавлять провайдеров oEmbed непосредственно без использования фильтра
Используйте её, если хотите добавить провайдер в конкретном месте вашего кода без изменения глобального массива