Either make a regex filter as a the_content
filter,
add_filter('the_content', 'my_regex_filter', 1); // Execute as early as possible
function my_regex_filter($content) {
$regex = get_shortcode_regex(array('showgallery'));
$content = preg_replace("https://wordpress.stackexchange.com/".$regex.'/s', '[$1gallery$3$4$5$6]', $content );
return $content;
}
or rewrite your add_shortcode
function.
remove_shortcode('showgallery');
add_shortcode('showgallery', 'my_showgallery');
function my_showgallery($args) {
return gallery_shortcode($args);
}
I would recommend the second, because it is cleaner and faster.
Edit:
Rewriting the shortcode for external plugins.
In your functions.php
define the plugin version of your shortcode:
remove_shortcode('showgallery');
add_shortcode('showgallery', 'my_showgallery');
function my_showgallery($args) {
return gallery_shortcode($args);
}
function my_template_gallery($args) {
// Here put your custom gallery code…
}
Add to your header.php
the following two lines:
remove_shortcode('showgallery');
add_shortcode('showgallery', 'my_template_gallery');
Now you got the rendered WP shortcode everywhere except on your templates.