HOWTO: Simple Bootstrap 4 WordPress Gallery
If you are looking for a simple way to have your WordPress inserted galleries use the Bootstrap 4 layout – look no further. Just drop this code into your theme’s functions.php file and any WordPress gallery you insert when selecting media ([ gallery ids=”” ]) will then use the Bootstrap layout.
Code Needed for the WordPress Gallery
/** * Bootstrap 4 gallery */ add_filter( 'post_gallery', 'lucidity_bootstrap_gallery', 10, 2); function lucidity_bootstrap_gallery( $output = '', $atts, $instance ) { if (strlen($atts['columns']) < 1) $columns = 3; else $columns = $atts['columns']; $images = explode(',', $atts['ids']); // Set the # of columns you would like if ( $columns < 1 || $columns > 12 ) $columns == 3; $col_class = 'col-lg-' . 12/$columns; $output = '<div class="row text-center text-lg-left gallery">'; $i = 0; foreach ( $images as $key => $value ) { $image_attributes = wp_get_attachment_image_src( $value, 'thumbnail'); $output .= ' <div class="'.$col_class.'"> <a data-gallery="gallery" href="'.esc_url($image_attributes[0]).'" class="d-block mb-4 h-100"> <img src="'.esc_url($image_attributes[0]).'" alt="" class="img-fluid img-thumbnail"> </a> </div>'; $i++; } $output .= '</div>'; return $output; }
A few things to note:
- This example uses the image size “thumbnail”. If you want to use something different – you can change that here on this line: $image_attributes = wp_get_attachment_image_src( $value, ‘thumbnail’);
- This example uses 3 columns. Depending on the size of your images – you may also what to change that. You can make the change by changing the two references to “3” in the code above ($columns == 3, $columns = 3)
You can see the gallery in action here: http://www.jappler.com/2014/07/25/recent-visit-911-memorial/