Das Einbetten von YouTube-Videos über eine Vorlagenfunktion triggers iframe-Richtlinienüberschreitungsrichtlinienerrors aus

Ich verwende WordPress 3.5, das nativ Einbettungen in Posts und Seiten von vielen Seiten unterstützt, inklusive YouTube.

Wenn ich ein Youtube-Video direkt in einen Post oder eine Seite einbetten (indem ich einfach die Video-URL kopiere und einfüge), funktioniert es einwandfrei, und in Chrome oder Firefox werden keine Richtlinienüberschreitungserrors in der Domain ausgetriggers.

Wenn ich jedoch die URL von einer function innerhalb einer benutzerdefinierten Seitenvorlage (außerhalb der Hauptschleife) hinzufüge, die ich für einen benutzerdefinierten Beitragstyp erstellt habe, wird ein Fehler ausgegeben.

So sieht meine function aus:

function my_tour_video() { global $post, $wp_embed; $my_tour_video = get_post_meta($post->ID, "_my_tour_video", true); echo $wp_embed->run_shortcode('' . $my_tour_video . ''); } 

In meinem benutzerdefinierten Feld habe ich versucht, die Youtube-URL “einzubetten” und auch nur die “Uhr” -URL kopiert und eingefügt aus dem Browser.

Sie können diese Beispiel-URL ausprobieren: http://www.youtube.com/embed/Y7AvqD2loX4

Fehler in Chrome sieht ungefähr so ​​aus:

Unsicheres JavaScript versucht, den Frame mit der URL http://www.meinedomain.com aus dem Frame mit der URL http://www.youtube.com/embed/Y7AvqD2loX4 aufzurufen. Domains, Protokolle und Ports müssen übereinstimmen.

Irgendwelche Vorschläge, wie man das richtig macht, wären an dieser Stelle sehr hilfreich.

Solutions Collecting From Web of "Das Einbetten von YouTube-Videos über eine Vorlagenfunktion triggers iframe-Richtlinienüberschreitungsrichtlinienerrors aus"

Einen falschen eingebetteten Shortcode zu erstellen und dann run_shortcode aufzurufen, macht keinen Sinn. Versuchen Sie es stattdessen:

 echo $wp_embed->shortcode(array(), $my_tour_video); 

Bearbeiten: Wenn ich deinen Code auf einer Testseite benutze, die diese Einbettung verwendet, erhalte ich außerdem keinen solchen Fehler, wie du es beschreibst. Wenn Sie einen reproduzierbaren Testfall erstellen können, ist er möglicherweise lösbar.

Wenn Sie die URL / embed / verwenden, kann dies die Ursache sein. Verwenden Sie stattdessen die echte URL des Videos, wie es auf der YouTube-Videoseite angezeigt wird. Die gleiche URL, die Sie normalerweise in den Inhalt eines Beitrags einfügen würden.