• I’m successfully using the below to remove the 10px of width added to captions by media.php. However, I still get the 10px of added width in the editor. What can I do to remove the 10px (or even the entire width value if that’s easier) within the editor?

    add_shortcode('wp_caption', 'fix_img_caption_shortcode');
    add_shortcode('caption', 'fix_img_caption_shortcode');
    
    /**
     * The Caption shortcode.
     *
     * Allows a plugin to replace the content that would otherwise be returned. The
     * filter is 'img_caption_shortcode' and passes an empty string, the attr
     * parameter and the content parameter values.
     *
     * The supported attributes for the shortcode are 'id', 'align', 'width', and
     * 'caption'.
     *
     * @since 2.6.0
     *
     * @param array $attr Attributes attributed to the shortcode.
     * @param string $content Optional. Shortcode content.
     * @return string
     */
    function fix_img_caption_shortcode($attr, $content = null) {
    	// New-style shortcode with the caption inside the shortcode with the link and image tags.
    	if ( ! isset( $attr['caption'] ) ) {
    		if ( preg_match( '#((?:<a [^>]+>\s*)?<img [^>]+>(?:\s*</a>)?)(.*)#is', $content, $matches ) ) {
    			$content = $matches[1];
    			$attr['caption'] = trim( $matches[2] );
    		}
    	}
    
    	// Allow plugins/themes to override the default caption template.
    	$output = apply_filters('fix_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: ' . (0 + (int) $width) . 'px">'
    	. do_shortcode( $content ) . '<p class="wp-caption-text">' . $caption . '</p></div>';
    }
  • The topic ‘Removing extra 10px of width for captions in TinyMCE editor’ is closed to new replies.