Filter caption-shortcode in WordPress

For many reason, there are a lot of blogger using WordPress as they publishing platform. Free, easy to use and a lot of extend available on the net. WordPress Theme, WordPress Plugin with many licensed available.

wordpress-caption-shortcode.jpg

On this post, I will show you some tricks. This tricks is replace default caption-shortcode on wordpress and enhanced with much better caption. Default wordpress caption-shortcode added extra style margin each caption. This extra code is good if you are using standard style design. But for many wordpress designer, need extra style for caption, that why you’ll need this code.Open your functions.php in your current theme and write caption-shortcode reloaded code

[php]
add_shortcode(‘wp_caption’, ‘fixed_img_caption_shortcode’);
add_shortcode(‘caption’, ‘fixed_img_caption_shortcode’);
function fixed_img_caption_shortcode($attr, $content = null) {
// Allow <a title="plugins" href="http://wptricks.net/category/plugins/">plugins</a>/themes to override the default caption template.
$output = apply_filters(‘img_caption_shortcode’, ”, $attr, $content);
if ( $output != ” ) return $output;
extract(shortcode_atts(array(
‘id’=> ”,
‘align’ => ‘alignnone’,
‘width’ => ”,
‘caption’ => ”), $attr));
if ( 1 > (int) $width || empty($caption) )
return $content;
if ( $id ) $id = ‘id="’ . esc_attr($id) . ‘" ‘;
return ‘<div ‘ . $id . ‘class="wp-caption ‘ . esc_attr($align)
. ‘" style="width: ‘ . ((int) $width) . ‘px">’
. do_shortcode( $content ) . ‘<p class="wp-caption-text">’
. $caption . ‘</p></div>’;
}
[/php]

And it’s done, you can try this modified caption-shortcode by edit or view you post contain wp-caption. And viola… you got better caption shortcode right? This post original writen by some wordpress.org member. This caption-shortcode filter also published on WP Tricks

4 Comments

  1. Federico González Brizziosays:

    Hi, your code fixed my problem with the 10px @images!

    Thanks from Ushuaia, Argentina

Leave a Reply

Your email address will not be published. Required fields are marked *