Presentar imagen aleatoria de un post en wordpress

Creamos shortcode de gallery con una sola imagen aleatoria sobre el post actual en single.php

// Presentar una sola imagen aleatoria del post

$consulta_img = "SELECT ID FROM wp_posts
WHERE post_parent=".get_the_ID()." AND post_type like 'attachment'
ORDER BY RAND() LIMIT 1";

$lista_imagenes = FALSE ;
$resultado_img = $wpdb->get_results( $consulta_img );
if ( count($resultado_img) != 0 ) $lista_imagenes = TRUE;

if ( $lista_imagenes ) {

$lista_imagenes = "";
foreach ( $resultado_img as $fila ) { $lista_imagenes .= $fila->ID."," ; }
$lista_imagenes = rtrim($lista_imagenes,',');

// Galería de imágenes

?>
<p>
<div id="galeria_pais">
<?php echo _do_shortcode('[_gallery columns="1" link="file" include="'.$lista_imagenes.'"]'); ?>
</div>
</p>
<?php
}

Añado guiones bajos para que no lo interprete wordpress.

Leave a Reply

Your email address will not be published. Required fields are marked *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

LesOlivex