Cómo reemplazar la imagen destacada de WordPress con un video
Necesito reemplazar las imágenes destacadas en páginas con un video cuando ciertos posts contengan un video de YouTube, Vimeo u otros servicios de alojamiento de videos permitidos por WordPress.
Aquí está el pseudocódigo que quiero usar en una página personalizada:
if ( has_post_thumbnail( get_the_ID() {
if has_video(pseudocódigo para verificar si el post individual contiene video de YouTube) {
// mostrar reproductor de video
} else {
// mostrar imagen destacada
}
}
¿Algún consejo?
Digamos, para simplificar, que estás usando ACF. Necesitas crear un campo de enlace de video una vez que ACF esté instalado y asignarlo a las publicaciones. Luego, en la publicación donde deseas que aparezca un video, añade la URL. Normalmente asigno este campo como un campo de texto y luego hago que los usuarios ingresen el ID de YouTube (la última cadena de texto después del enlace youtube.com
).
Por ejemplo, si el enlace del video fuera: https://www.youtube.com/J-ek8drxFJA
el usuario ingresaría solo J-ek8drxFJA
en el campo.
Ahora añade este código a tu copia de single.php que está en la carpeta de tu tema hijo
Observa que cambié la declaración if
. No es necesario buscar la miniatura si vas a usar un video:
if( get_field( 'video_link' ) ) {
echo 'este es mi ID de enlace de video ' . get_field( 'video_link' ); // o muestra el reproductor de video (ver abajo)
} else {
if( has_post_thumbnail( get_the_ID() ) ){
// mostrar miniatura de la publicación
}
//sin video o foto
}
Ahora, por supuesto, si quieres mostrar el video, querrás hacer algo como esto en su lugar:
if( get_field( 'video_link' ) ) {
$videoid = get_field( 'video_link' );
echo '<h2>Enlace de Video</h2><p>mira nuestro video:</p><iframe width="420" height="315" src="https://www.youtube.com/embed/' . $videoid . '" frameborder="0" allowfullscreen></iframe>';
} else {
if( has_post_thumbnail( get_the_ID() ) ) {
// mostrar miniatura de la publicación
}
//sin video o foto
}
Obviamente puedes modificar un poco el código para adaptarlo a tus necesidades.

Aunque se aceptan respuestas de calidad de cualquier tipo, ten en cuenta que las respuestas que remiten al usuario a plugins de terceros a veces no son bien recibidas. Este tipo de respuestas tienden a generar preguntas adicionales sobre dicho plugin de terceros, y ese tipo de preguntas están Fuera de Tema.

Creo que deberías probar este plugin: https://wordpress.org/plugins/featured-video-plus/
Si no te gusta usar plugins adicionales, definitivamente deberías revisar su código como referencia. Puedes analizar su código y personalizarlo según tus necesidades.
