So verwenden Sie das WP-Oembed-Skript außerhalb von the_content

Lesezeit: 2 Minuten

Ich habe einen benutzerdefinierten Beitragstyp “Video” und wollte Videos wie YouTube, Dailymotion in einem bestimmten Bereich mit dem WP-Standard-Oembed-Skript zeigen. Also verwende ich ein benutzerdefiniertes Feld “Video-URL”, aber das Problem ist das eingebaut in … Arbeiten der Inhalt nicht mit benutzerdefiniertem Feld. also wie kann ich das machen. oder irgendeine andere Lösung

Benutzer-Avatar
vstm

Wenn das benutzerdefinierte Feld nur die Video-URL enthält, wie z http://www.youtube.com/watch?v=dQw4w9WgXcQdann können Sie den oEmbed-HTML-Code mit abrufen wp_oembed_get:

$videourl="http://www.youtube.com/watch?v=dQw4w9WgXcQ";
$htmlcode = wp_oembed_get($videourl);
echo $htmlcode;

Wenn Ihr benutzerdefiniertes Feld mehr als nur die URL enthält, können Sie die verwenden the_content Filter, um dasselbe zu tun the_content-Funktion macht:

$content = "<h2>this video is great</h2>\n<p>check it out</p>\n"
  . "
"; $htmlcode = apply_filters('the_content', $content); echo $htmlcode;

  • Danke, das funktioniert wirklich, aber es funktioniert bei direkten URLs nicht, wenn ich das get_post_meta-Beispiel verwende. $videourl = ‘using post meta code here’; $htmlcode = wp_oembed_get($videourl); echo $htmlcode;

    – Stephan Finn

    18. Februar 2013 um 6:00 Uhr


  • Danke, das funktioniert, ich finde es auf der zweiten heraus. und wie man die Breite und Höhe des eingebetteten Videos ändert

    – Stephan Finn

    18. Februar 2013 um 6:10 Uhr

Hier ist eine vollständige Antwort auf Ihre Frage. Es ist auch eine sauberere und schnellere Methode wp_oembed_get, anstatt Shortcode. Natürlich wechseln video_url zum Namen Ihres benutzerdefinierten Felds.

Dieser Code prüft, ob die video_url Feld nicht leer ist, dann oBettet das Video ein.

<?php if (!((get('video_url', TRUE))=='')) {
    echo wp_oembed_get( get('video_url', true) );
}?>

  • Du musst dich ändern video_url zum Namen Ihres benutzerdefinierten Felds, andernfalls erhalten Sie Call to undefined function get(). Ich habe genau diesen Code auf über 10 Websites aktiv, also weiß ich, dass er funktioniert … Es ist kein ungetesteter Vorschlag.

    – Travis Pflanz

    15. Oktober 2013 um 4:28 Uhr


  • Die Antwort ist ohne die Implementierung des benutzerdefinierten Felds nicht vollständig. Es ist immer noch nicht sauberer oder schneller als das andere.

    – Tom Roggero

    15. Oktober 2013 um 18:49 Uhr

1374150cookie-checkSo verwenden Sie das WP-Oembed-Skript außerhalb von the_content

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy