キャプション付画像は、img_caption_shortcodeでカスタマイズできます。
add_filter( 'img_caption_shortcode', 'textdomain_change_caption', 10, 3 );
function textdomain_change_caption( $none, $att, $content ){
var_dump($content);
var_dump($att);
$my_content= 'hello';
return $my_content;
}
wp-includes/media.php@core file
/**
* 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 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: ' . (10 + (int) $width) . 'px">'
. do_shortcode( $content ) . '<p class="wp-caption-text">' . $caption . '</p></div>';
}
add_shortcode('gallery', 'gallery_shortcode');