it-swarm.com.de

Probleme bei der Verwendung der oembed-Funktion von WP + Instagram + AJAX

Ich verwende ein Modal, um Post-Inhalte über AJAX zu laden. In die Vorlage des Posts binde ich mit wp_oembed_get () verschiedene Medientypen ein (YouTube, Vimeo, Flickr und Instagram). Mit Ausnahme von Instagram funktioniert alles.

Wenn ich einen Beitrag öffne, der eine Instagram-Einbettung enthält, wird dieser in Ordnung geladen. Aber wenn ich das Modal schließe und versuche, einen anderen Beitrag zu laden, funktioniert das Einbetten nicht richtig. Das Foto/Video in der Einbettung wird nicht geladen.

Dies ist die Seite: http://staging.smuttynose.com/the-hopper

Wenn Sie einen der "Instagram Test" -Postings öffnen, schließen und dann den anderen laden, werden Sie sehen, was passiert.

Ich bin am Ende meines Seils, um das herauszufinden!

3
Adam Walter

Instagram hat seinen Einbettungscode von iframe in eine Menge HTML und ein JS-Skript geändert. Sehr unelegant, aber nichts, was wir tun können. Dieses Setup schlägt natürlich fehl, wenn es über AJAX aufgerufen wird, da die JS-Datei, die Teil des HTML ist, nicht ausgeführt wird. Zum Glück gibt es einen anderen offiziellen Weg, um es mit AJAX in zwei Schritten zum Laufen zu bringen:

  1. Fügen Sie diese Skripte in Ihre HMTL ein:

    <script src="//platform.instagram.com/en_US/embeds.js"></script>

  2. Führt diese JS aus, nachdem Sie den Inhalt mit AJAX geladen haben:

    if ( typeof window.instgrm !== 'undefined' ) { window.instgrm.Embeds.process(); }

Was es tut, ist, es sucht nach Instagram, bettet sie ein und lädt sie. Viel Glück!

3
Banago