2015-07-27 3 views
0

Je veux afficher les images de la galerie de messages avec la "galerie". Après cela, j'ai appris que nous devions utiliser une fonction "preg_match" pour obtenir les identifiants de la galerie d'images. Quelque chose comme ça:Afficher tout afficher galerie d'images en utilisant le shortcode [galerie]

$post_content = $post->post_content; 
preg_match('/\[gallery.*ids=.(.*).\]/', $post_content, $ids); 
$array_id = explode(",", $ids[1]); 

Mais je ne sais pas comment l'utiliser ... Je suis un débutant et il est assez difficile pour moi d'utiliser. Devrais-je mettre ce code dans mon fichier de fonctions? Si oui, comment puis-je faire cela s'il vous plaît?

Le but c'est de mettre un code final comme ça: <?php echo do_shortcode('[gallery ids="$array_id"]'); ?>

Merci et désolé pour mon anglais !!!

Répondre

0

J'ai trouvé la solution, alors je partage cela avec vous. Peut-être que quelqu'un sera intéressé par cela.

J'ai modifié le code suivant:

$post_content = $post->post_content; 
preg_match('/\[gallery.*ids=.(.*).\]/', $post_content, $ids); 
$array_id = explode(",", $ids[1]); 

en:

<?php 
global $post; 

    $post_content = $post->post_content; 
    preg_match('/\[gallery.*ids=.(.*).\]/', $post_content, $ids); 
    $images_id = explode(",", $ids[1]); 
echo do_shortcode('[gallery type="slideshow" ids="'. implode(',', array_slice($images_id, 0, 3)).' ,"]'); 
?> 

Et j'inséré dans ma coutume format-gallery.php et il fonctionne si bien. Notez que j'ai limité automatiquement le nombre d'identifiants retournés avec un array_slice().

J'espère que cela aidera quelqu'un.