oEmbed Provider sehen (in WP)
Ja — am einfachsten direkt per PHP.
1) Alle aktiven oEmbed-Provider ausgeben
Temporär in functions.php oder besser in ein kleines Plugin:
add_action('admin_init', function () {
global $wp_oembed;
echo '<pre>';
print_r($wp_oembed->providers);
echo '</pre>';
exit;
});
Dann einmal /wp-admin/ aufrufen.
Wichtig:
- Das ist nur zum Testen.
- Danach wieder entfernen, sonst wird das Admin-Backend blockiert.
In der Ausgabe siehst du die registrierten URL-Muster und die zugehörigen oEmbed-Endpunkte.
2) Prüfen, ob YouTube aktiv ist
WordPress speichert die Provider als Muster. Du kannst gezielt danach suchen:
add_action('admin_init', function () {
global $wp_oembed;
$found = false;
foreach ($wp_oembed->providers as $pattern => $data) {
if (stripos($pattern, 'youtube') !== false || stripos($pattern, 'youtu.be') !== false) {
echo '<p><strong>YouTube-Provider aktiv:</strong></p>';
echo '<pre>';
print_r([$pattern => $data]);
echo '</pre>';
$found = true;
}
}
if (!$found) {
echo '<p><strong>Kein YouTube-Provider gefunden.</strong></p>';
}
exit;
});
3) Sauberer Check als true/false
Wenn du nur wissen willst, ob YouTube aktiv ist, ohne alles auszugeben:
function my_is_youtube_oembed_active() {
global $wp_oembed;
foreach ($wp_oembed->providers as $pattern => $data) {
if (stripos($pattern, 'youtube.com') !== false || stripos($pattern, 'youtu.be') !== false) {
return true;
}
}
return false;
}
add_action('admin_notices', function () {
if (my_is_youtube_oembed_active()) {
echo '<div class="notice notice-success"><p>YouTube oEmbed ist aktiv.</p></div>';
} else {
echo '<div class="notice notice-warning"><p>YouTube oEmbed ist nicht aktiv.</p></div>';
}
});
4) Noch direkter: Test mit echter URL
Praktisch ist auch zu prüfen, ob WordPress eine echte YouTube-URL als Embed erkennt:
add_action('admin_init', function () {
$url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
$embed = wp_oembed_get($url);
if ($embed) {
echo '<p><strong>YouTube funktioniert als oEmbed.</strong></p>';
echo $embed;
} else {
echo '<p><strong>YouTube funktioniert NICHT als oEmbed.</strong></p>';
}
exit;
});
Das ist oft aussagekräftiger als nur die Providerliste.
5) Per WP-CLI, falls du Zugriff hast
Wenn du SSH/WP-CLI hast:
wp eval 'global $wp_oembed; print_r($wp_oembed->providers);'
Oder nur YouTube filtern:
wp eval '
global $wp_oembed;
foreach ($wp_oembed->providers as $pattern => $data) {
if (stripos($pattern, "youtube") !== false || stripos($pattern, "youtu.be") !== false) {
print_r([$pattern => $data]);
}
}
'
Empfehlung
Am besten ist meist:
- Providerliste ausgeben
- mit
wp_oembed_get()eine echte URL testen
Denn ein Provider kann zwar registriert sein, aber der Embed kann trotzdem durch andere Filter/Plugins gestört werden.