voici le code de galerie personnalisé.
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' );
mais maintenant, je veux ajouter une légende dans un fichier. regarde mon code 'a data-caption="" class="ilightbox" href=',
il data-caption = "légende de l'image que je veux ajouter" maintenant légende d'image en dehors d'un
comme ça
<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>
Vous pouvez essayer ce code pour ajouter le nouvel attribut dans le code 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;
}