Use el filtro [incrustar] en los archivos de plantilla

9

WordPress incrusta automáticamente los videos de youtube si uso:

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

Esto es genial, pero no funciona si lo uso en un archivo de plantilla. Tengo un campo personalizado donde el administrador puede poner una URL a un video de YouTube. Quiero obtener el video en la única publicación utilizando el siguiente código:

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

¿Cómo puedo convertir la URL de Youtube en una URL incrustada utilizando la función estándar de WordPress [incrustar]?

    
pregunta Sjoerd Boerrigter 19.08.2011 - 17:55

2 respuestas

13

Utiliza wp_oembed_get( $your_YouTube_url ) en su lugar. Asegúrese de que echo en su archivo de plantilla. Así que algo como esto.

<?php
$your_YouTube_url = 'https://www.youtube.com/watch?v=jofNR_WkoCE';
echo wp_oembed_get( $your_YouTube_url );
?>
    
respondido por el D3XT3R 10.12.2013 - 20:35
10

Normalmente, tiene que usar do_shortcode en una plantilla para colocar un shortcode fuera del contenido, sin embargo, he tenía problemas con el código abreviado de inserción específicamente y no podía hacerlo funcionar de esa manera. Encontré esta solución que funciona, pero quizás haya una manera de hacer esto con do_shortcode y me he perdido algo.

<?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;
?>
    
respondido por el Milo 19.08.2011 - 18:33

Lea otras preguntas en las etiquetas