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.