Last active
April 6, 2018 20:11
-
-
Save johndugan/4359828 to your computer and use it in GitHub Desktop.
WordPress: remove inline width from captions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_shortcode('wp_caption', 'fixed_img_caption_shortcode'); | |
add_shortcode('caption', 'fixed_img_caption_shortcode'); | |
function fixed_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('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: auto">' | |
. do_shortcode( $content ) . '<p class="wp-caption-text">' . $caption . '</p></div>'; | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This saved me from becoming insane, my wordpress stopped resizing pictures without changing anything.
I used this to remove width from caption, but now the text in caption lost its "styling", can I prevent this from happening?