If you use [gallery] shortcode without setting the columns value, the default is set to 3. Some WordPress theme can either fit 3 or more column per row or less. Below is an example to force WordPress [gallery] columns to 2 to any post or page that uses [gallery] shortcode:
function gallery_columns($content){
$columns = 2;
$pattern = array(
'#(\[gallery(.*?)columns="([0-9])"(.*?)\])#ie',
'#(\[gallery\])#ie',
'#(\[gallery(.*?)\])#ie'
);
$replace = 'stripslashes(strstr("\1", "columns=\"$columns\"") ? "\1" : "[gallery \2 \4 columns=\"$columns\"]")';
return preg_replace($pattern, $replace, $content);
}
add_filter('the_content', 'gallery_columns');
$columns can be set to any numeric value. If [gallery] columns is set to 0, no row breaks will be included.
Plugin download: Gallery Columns