Si estás preparando una plantilla personalizada para WordPress, ya sea para un custom post type o alguna sección específica de tu web y necesitas mostrar la galería de imágenes de un post en concreto. puedes utilizar la función get_post_galleries_images( $post );
En este ejemplo, recogemos el array con las imágenes y las mostramos mediante un loop:
global $post; $galleries = get_post_galleries_images( $post ); $image_list = '
-
- ';
//Loop en todas las galerías, por si hay más de una
foreach( $galleries as $gallery ) {
// Loop dentro de cada una de las galerías.
foreach( $gallery as $image ) {
$image_list .= '
- ' . $image . ' }
Si queremos limitar el número de imágenes a mostrar, simplemente podemos recortar el array de fotos:
$gallery_solo_cinco = array_slice( $gallery, 0, 5);
Una vez tenemos la salida en loop de las imágenes de la galería (ya sea en una lista como en el ejemplo o con las etiquetas html que mejor te vayan), sólo tienes que darle los estilos que necesites para ajustar los CSS al diseño de la plantilla.
Excelente, pero tengo una duda, en mi plantilla logro hacer que la galería aparezca donde quiero en la maquetación, pero me sale también en el lado donde puse a the_content, entiendo que esto pase porque al crear la galería ahí en el editor es donde quedan las imágenes, te agradecería si me sacas de la duda en cuanto a que hacer para que no me aparezca ahí también. Saludos.
Hola Edwing!
No lo he probado, pero así de entrada se me ocurre que podrías ocultarla por CSS indicando la clase del post en concreto.
Saludos!
Hola, ya supe como hacerlo con una función de WP :
post_content, ‘gallery’ ) ) {
global $post;
$galleries = get_post_galleries_images( $post );
$image_list = »;
// Si se requieren mas de una galeria de imágen es: $image_list = »;
//Loop en todas las galerías, por si hay más de una
foreach( $galleries as $gallery ) {
// Loop dentro de la galeria o de cada una de las galerías si hay mas de una.
foreach( $gallery as $image ) {
$image_list .= ‘ ‘;
}
}
$image_list .= ‘ ‘; // Mostramos la lista de imágenes:
echo $image_list;
}
?>
…Hay que tener cuidado de ponerlo en la plantilla donde se necesita y no en un archivo como el functions.php , pues como se basa en inhabilidar el shortcode predeterminado de la galeria en the_content(); entonces luego también lo haría con cualquier otro shortcode que se necesite usar; saludos 🙂
Oops! veo que lo que puse entre comillas en el código no salió en el comentario.
Que pena! Si quieres envíamelo por email y lo añado al post.
Gracias Edwing!