WordPress Snippet

ワードプレスをカスタマイズしよう

Caption short codeをhtml5で

add_filter('img_caption_shortcode', 'my_img_caption_shortcode_filter',10,3);

/**
 * Filter to replace the  shortcode text with HTML5 compliant code
 *
 * @return text HTML content describing embedded figure
 **/
function my_img_caption_shortcode_filter($val, $attr, $content= null)
{
	extract(shortcode_atts(array(
		'id'=> '',
		'align'=> '',
		'width'=> '',
		'caption'=> ''
	), $attr));
	
	if ( 1 > (int) $width | | empty($caption) )
		return $val;

	$capid= '';
	if ( $id ) {
		$id= esc_attr($id);
		$capid= 'id="figcaption_'. $id . '" ';
		$id= 'id="' . $id . '" aria-labelledby="figcaption_' . $id . '" ';
	}

	return '<figure ' . $id . 'class="wp-caption ' . esc_attr($align) . '" style="width: '
	. (10 + (int) $width) . 'px">' . do_shortcode( $content ) . '<figcaption ' . $capid 
	. 'class="wp-caption-text">' . $caption . '</figcaption></figure>';
}

http://codex.wordpress.org/Function_Reference/add_filter(title)

[emulsion_relate_posts]