it-swarm.com.de

Verwenden Sie den Filter [Einbetten] in Vorlagendateien

WordPress bettet automatisch ein YouTube-Video ein, wenn ich:

[embed] http://www.youtube.com/watch?v=Xog1T5dUxcw [/embed ]

Das ist großartig, aber es funktioniert nicht, wenn ich es in einer Vorlagendatei verwende. Ich habe ein benutzerdefiniertes Feld, in das der Administrator eine URL für ein YouTube-Video einfügen kann. Ich möchte das Video mit dem folgenden Code im Einzelbeitrag erhalten:

<?php
  $custom = get_post_custom($post->ID);
  $url = $custom['_videoLink'][0];
?>
<div class="video">
  [embed]<?php $url; ?>[/embed]
</div>

Wie kann ich die Youtube-URL mit der Standard-WordPress-Funktion [embed] in eine eingebettete URL konvertieren?

9

Verwenden Sie stattdessen wp_oembed_get( $your_YouTube_url ). Stellen Sie sicher, dass Sie echo in Ihrer Vorlagendatei haben. Also so etwas.

<?php
$your_YouTube_url = 'https://www.youtube.com/watch?v=jofNR_WkoCE';
echo wp_oembed_get( $your_YouTube_url );
?>
13
D3XT3R

Normalerweise müssen Sie do_shortcode in einer Vorlage verwenden, um einen Shortcode außerhalb des Inhalts zu platzieren. Ich hatte jedoch Probleme mit dem eingebetteten Shortcode und konnte es nicht so funktionieren lassen. Ich habe diese Lösung gefunden, die funktioniert, aber vielleicht gibt es eine Möglichkeit, dies mit do_shortcode zu tun, und ich habe etwas übersehen.

<?php
$custom = get_post_custom($post->ID);
$url = $custom['_videoLink'][0];
if($url):
    $shortcode = '[embed]'.$url.'[/embed]';
    global $wp_embed;
    echo $wp_embed->run_shortcode($shortcode);
endif;
?>
10
Milo