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.