web-dev-qa-db-fra.com

Créer sa propre galerie de shortcode Wordpress

Comment je peux gérer ce shortcode:
[ma galerie]
img01.jpg
img02.jpg
img03.jpg
img04.jpg
[/ma galerie]

Je ne comprends pas comment écrire une fonction, gérer un nom de fichier image.

1
user771417

Allez-vous y insérer des nouvelles lignes entre chaque image? ou juste des espaces? Je vais mettre les deux pour cet exemple, vérifiant s'il y a une nouvelle ligne.

Vous voudriez quelque chose comme ceci dans votre functions.php:

add_shortcode('my_gallery', 'gallery_function');
function gallery_function($atts, $code=''){
   $files=preg_split( '/\s+/', $code ); // Added in from Jan's comment.

   foreach($files as $img){
      if($img=="")
          continue; // ensures that no empty items from the split have entered in, since that is possible with the preg_split
      //handle each filename in here.
   }
}

Ce n'est pas parfait. Si vous utilisez à la fois des espaces et des retours à la ligne dans votre shortcode, cela va tout gâcher - bien que cela puisse être traité plus en détail dans la fonction.

J'espère que cela t'aides.

1
Mike