キャプション付画像は、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');