Существует ли встроенная функция, чтобы увидеть, совместима ли урлис -ээмбинг?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/15445

  •  16-10-2019
  •  | 
  •  

Вопрос

Я хочу иметь возможность принимать URL и посмотреть, является ли домен одной из тех, кто поддерживает WordPress, чтобы добавить вставки через OEMBED. Есть ли встроенная функция, которая делает это в WordPress или мне нужно создать свою собственную?

Пример: если у меня есть URL с видео -сайта, я хочу иметь возможность изучить URL -адрес и я могу определить, поддерживается ли домен WordPress для использования для внедрения в качестве видео.

Это было полезно?

Решение

wp-includes/class-oembed.php имеет общественную переменную $providers. Анкет Таким образом, вы можете построить небольшую функцию, чтобы получить их все:

function list_oembed_providers( $print = TRUE )
{
    require_once( ABSPATH . WPINC . '/class-oembed.php' );
    $oembed = _wp_oembed_get_object();

    $print and print '<pre>' . htmlspecialchars( var_export( $oembed->providers, TRUE ) ) . '</pre>';
    return $oembed->providers;
}

Если вы называете эту функцию ...

list_oembed_providers();

… Вы попадаете в WordPress 3.1.1:

array (
  '#http://(www\\.)?youtube.com/watch.*#i' => 
  array (
    0 => 'http://www.youtube.com/oembed',
    1 => true,
  ),
  'http://youtu.be/*' => 
  array (
    0 => 'http://www.youtube.com/oembed',
    1 => false,
  ),
  'http://blip.tv/file/*' => 
  array (
    0 => 'http://blip.tv/oembed/',
    1 => false,
  ),
  '#http://(www\\.)?vimeo\\.com/.*#i' => 
  array (
    0 => 'http://www.vimeo.com/api/oembed.{format}',
    1 => true,
  ),
  '#http://(www\\.)?dailymotion\\.com/.*#i' => 
  array (
    0 => 'http://www.dailymotion.com/api/oembed',
    1 => true,
  ),
  '#http://(www\\.)?flickr\\.com/.*#i' => 
  array (
    0 => 'http://www.flickr.com/services/oembed/',
    1 => true,
  ),
  '#http://(.+)?smugmug\\.com/.*#i' => 
  array (
    0 => 'http://api.smugmug.com/services/oembed/',
    1 => true,
  ),
  '#http://(www\\.)?hulu\\.com/watch/.*#i' => 
  array (
    0 => 'http://www.hulu.com/api/oembed.{format}',
    1 => true,
  ),
  '#http://(www\\.)?viddler\\.com/.*#i' => 
  array (
    0 => 'http://lab.viddler.com/services/oembed/',
    1 => true,
  ),
  'http://qik.com/*' => 
  array (
    0 => 'http://qik.com/api/oembed.{format}',
    1 => false,
  ),
  'http://revision3.com/*' => 
  array (
    0 => 'http://revision3.com/api/oembed/',
    1 => false,
  ),
  'http://i*.photobucket.com/albums/*' => 
  array (
    0 => 'http://photobucket.com/oembed',
    1 => false,
  ),
  'http://gi*.photobucket.com/groups/*' => 
  array (
    0 => 'http://photobucket.com/oembed',
    1 => false,
  ),
  '#http://(www\\.)?scribd\\.com/.*#i' => 
  array (
    0 => 'http://www.scribd.com/services/oembed',
    1 => true,
  ),
  'http://wordpress.tv/*' => 
  array (
    0 => 'http://wordpress.tv/oembed/',
    1 => false,
  ),
  '#http://(answers|surveys)\\.polldaddy.com/.*#i' => 
  array (
    0 => 'http://polldaddy.com/oembed/',
    1 => true,
  ),
  '#http://(www\\.)?funnyordie\\.com/videos/.*#i' => 
  array (
    0 => 'http://www.funnyordie.com/oembed',
    1 => true,
  ),
)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top