Thumbnail pentru articolele WordPress


Acum vrei doi ani am făcut un sit WordPress şi “beneficiarul” mi-a cerut ca articolele pe scurt să fie însoţite de un thumbnail din imaginea existentă în articol. Am scris un scurt cod şi m-am gândit că ar putea fi util şi altora. Aşa s-a născut Thumbnail for Excerpts, cel mai folosit plugin WordPress de-al meu. Toate celelalte abordări mergeau şi merg pe custom field dar pluginul meu nu cere bătăi de cap suplimentare, folosind ce găseşte în articole (prima imagine). Când am auzit că WordPress 2.9 include suport pentru thumbnail-uri la articole am crezut că pot şterge pluginul… m-am convins zilele acestea că nu este aşa: dimpotrivă, mă pregătesc să îl rescriu pentru a fi gata pentru 2.9.

imagine

Dar acum să vorbim concret despre cum folosim facilitatea pe care o vom regăsi, în câteva zile sau săptămâni, în WordPress 2.9. În primul în functions.php adăugaţi următoarea linie:

[PHP]add_theme_support(‘post-thumbnails’);[/PHP]

Nu ştiu dacă opţiunea nu va deveni cumva implicită, dar pentru moment linia e necesară. Ce modifică ea? În secţiunea de publicare, după cum vedeţi mai sus, în coloana din stânga, apare o nouă regiune, Post Thumbnail. Click pe Set thumbnail (1) şi se va deschide clasica fereastră pentru încărcarea de imagini. Fie la o imagine nou încărcată fie la una deja încărcată trebuie să daţi un click pe Use as thumbnail (2). Drept urmare imaginea va funcţiona ca thumbail pentru respectivul articol. Veţi vedea ceva ca mai jos.

imagine

Dacă verificaţi situl, surpriză, thumbnail-ul nu va fi afişat! Evident, pentru că trebuie puţin modificată şi tema. În primul rând, paginile index.php şi archive.php (eventual şi cea cu rezultatele căutării, dacă e diferită) trebuie să folosească the_excerpt() şi nu the_content(). De ce? Pentru că nu prea are sens să foloseşti articolele integrale şi să foloseşti şi thumbnail-uri. Ele merg atunci când afişezi doar un fragment din articol. Bun. Pasul 2, înainte de the_excerpt() trebuie să punem o linie ca mai jos.

[PHP]the_post_image(‘thumbnail’,’class=alignleft’);[/PHP]

Atât! Dacă dorim un control mai mare atunci putem folosi ceva ca mai jos. În primul rând am testat dacă articolul are thumbnail definit, dacă nu afişând o imagine implicită. În al doilea rând am făcut imaginea clickabilă, iar funcţia de mai sus a primit ca parametrii array-uri (cazul generalizat), primul parametru fiind un şir cu dimensiunile thumbnail-ului. Astfel ai control exact asupra dimensiunilor lui. Evident, se poate folosi class=alignright dacă aşa se doreşte. Şi umblând la CSS se pot îmbunătăţi rezultatele.

[HTML]
‘; ?>[/HTML]

Rezultatul? Pe situl pe care am făcut eu teste a ieşit cam aşa:

imagine

Iată deci cum, nu foarte greu, putem să definim thumbnail-uri la articole şi să le folosim în tema curentă. Din păcate definirea thumbnail-ului necesită intrarea în back-end-ul WordPress. Pentru cine publică din Windows Live Writer înseamnă un pas în plus. Dar se va putea scrie un plugin şi pentru aşa ceva… Mai multe, într-un alt articol.


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (2 evaluări, media: 5,00 din 5)
Loading...Loading...

1 comentariu

  1. radu.capan spune:

    Atenţie: numele funcţiilor s-au schimbat de la WP 2.9 beta la WP 2.9 final. Partea cu „image” a fost schimbată cu „thumbnail”. Astfel, has_post_image a devenit has_post_thumbnail.


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *