Daniel Tănasie

Cum pot aduna toate imaginile dintr-un post într-o galerie foto?

februarie 15, 2013 Tutoriale Wordpress 1 comment

Voi folosi PrettyPhoto pentru a strânge toate imaginile de pe o pagină, fie ea post sau page, într-o singură galerie foto.

Pentru început trebuie să adăugăm un cod în functions.php (wp-content/themes/thema-activa/functions.php), imediat după <?php. Codul este următorul:

function afiseaza_prettyphoto ($content) {
   global $post;
   $pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i";
    $replacement = '<a$1href=$2$3.$4$5 rel="prettyPhoto['.$post->ID.']"$6>$7</a>';
    $content = preg_replace($pattern, $replacement, $content);
    return $content;
}
add_filter('the_content', 'afiseaza_prettyphoto', 12);

Filtrul ‘the_content’ este utilizat pentru a “filtra” conținutul între citirea din baza de date și afisarea pe ecran. În exemplu de mai sus se va filtra conținutul folosind funcția “afiseaza_prettyphoto”.

Metoda “afiseaza_prettyphoto” adaugă “prettyPhoto[‘.$post->ID.’]” în url-ul imaginii făcând astfel ca imaginea să se deschidă folosind pretty photo. Imaginile se vor grupa în galeria $post->ID.

Dacă în aceeași pagină se inserează și o galerie foto se folosește codul explicat aici pentru galerie. Astfel se vor afișa două galerii.

By Daniel Tănasie
Lucrează în cadrul firmei 3Waves Net ca Web Developer. Scrie tutoriale WordPress pe baza experienței.

One Comment

Lasă un răspuns

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.