Utilizzare il filtro [incorpora] nei file modello


9

WordPress incorpora automaticamente un video di YouTube se uso:

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

Questo è fantastico, ma non funziona se lo uso in un file modello. Ho un campo personalizzato in cui l'amministratore può inserire un URL per un video di YouTube. Voglio ottenere il video nel post singolo usando il seguente codice:

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

Come posso convertire l'URL di Youtube in un URL di incorporamento usando la funzione standard di WordPress [embed]?

Risposte:


14

Usa wp_oembed_get( $url )invece. Assicurati di echoaverlo nel tuo file modello. Quindi, qualcosa del genere:

<?php
// tot necessary to set this but good if $url is coming from a function
$url = 'https://www.youtube.com/watch?v=jofNR_WkoCE';

// echo the function in your template to render the video
echo wp_oembed_get( $url );
?>

Soluzione semplice e migliore per questo problema. +1
Sam,

10

Normalmente devi usare do_shortcode in un modello per posizionare uno shortcode al di fuori del contenuto, tuttavia, ho avuto problemi con lo shortcode embed specifico e non sono riuscito a farlo funzionare in questo modo. Ho trovato questa soluzione che funziona, ma forse c'è un modo per farlo con do_shortcode e mi sono perso qualcosa.

<?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;
?>

Puoi anche fare echo do_shortcode ($ shortcode)
keatch il

@keatch - hai provato questo specificamente con lo embedshortcode di WP ? come ho già detto, quello specifico non funzionerebbe per me, mentre altri codici brevi normalmente funzionano. Non ho fatto molte indagini sul perché. Questo non era anche con la versione WP più recente.
Milo,

1
So che questo è vecchio, ma solo per sottolineare che sto ancora riscontrando lo stesso problema ora nel 2013 con lo shortcode embed che non funziona nei file modello. La soluzione sopra ha funzionato alla grande però.
Eckstein,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.