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.
Comentarios
5 respuestas a «Mostrar la galería de imágenes de un post en una 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!