以下はカスタムギャラリーコードです。
function custom_gallery_shortcode( $attr = array(), $content = '' )
{
$attr['itemtag'] = "li";
$attr['icontag'] = "";
$attr['captiontag'] = "p";
// Run the native gallery shortcode callback:
$html = gallery_shortcode( $attr );
// Remove all tags except a, img,li, p
$html = strip_tags( $html, '<a><img><li><p>' );
// Some trivial replacements:
$from = array(
"class='gallery-item'",
"class='gallery-icon landscape'",
'class="attachment-thumbnail"',
'a href=',
);
$to = array(
'',
'',
'',
'a data-caption="" class="ilightbox" href=',
);
$html = str_replace( $from, $to, $html );
// Remove width/height attributes:
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
// Wrap the output in ul tags:
$html = sprintf( '<ul class="gallery">%s</ul>', $html );
return $html;
}
add_shortcode( 'gallery', 'custom_gallery_shortcode' );
add_filter( 'use_default_gallery_style', '__return_false' );
しかし、今私はの中に画像のキャプションを追加したいです。私のコードを見てください'a data-caption="" class="ilightbox" href=',
そこdata-caption = "追加したい画像キャプション"今画像キャプションの外側に来る
このように
<a data-caption="" class="ilightbox" href="http://xxxxxxx.com/Snack-bar-1024x682.jpg"><img src="http:xxxxxxxxxx.com/Snack-bar-1024x682-150x150.jpg" alt="testing caption"></a>
<p class="wp-caption-text gallery-caption">
testing caption
</p></li>
このコードを試して、htmlコードに新しい属性を追加することができます。
$dom = new DOMDocument();
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('a') as $item) {
$item->setAttribute('data-caption', 'This is an anchor tag');
echo $dom->saveHTML();
exit;
}