WordPress ca şi catalog


Din nou un articol tehnic, cu un public mai subţire, dar este ziua CMS-urilor şi vorbim despre favoritul nostru, WordPress. Cei care folosesc WP-ul ştiu că are o flexibilitate deosebită, putând să fie folosit atât pentru bloguri cât şi pentru practic orice alt fel de sit. Dacă este situl unei companii, poate să aibă prima pagină statică, iar partea de blog să vină ca o secţiune de ştiri. Dar se pot face multe alte adaptări. Una de care m-am lovit eu recent a fost WordPress ca şi catalog. Pe scurt: a trebuit să scriu un catalog de resurse. Puteam să scriu în MS Word, dar cum am vrut să fie accesibil şi comentabil, am decis să fac un sit-catalog. Am instalat deci un sit WordPress şi am început să fac categoriile şi apoi să pun materialele. Dar… era blog. Avea structura de blog. Dacă cineva intră în catalog la secţiunea – să zicem – Mamifere, nu îl va interesa să vadă ultima carte pusă acolo ci cărţile în ordine alfabetică. Evident. Dar WordPress pune automat articolele în ordinea inversă a publicării. Şi atunci? M-am gândit: trebuie să fie o metodă de a schimba ordinea… dar cât de grea?

O simplă săpare pe net m-a condus la excelentul articol 6 Ways to Customize WordPress Post Order. Acolo veţi găsi numeroase sfaturi, precum şi şase pluginuri (din păcate doar unele ţinute la zi) care vă pot permite tot felul de configuraţii. Ştiu că mulţi vor prefera un plugin decât să modifice singuri cod PHP, dar în cazul meu a trebuit să adaug o singură linie în archive.php înainte de bucla wp_loop. În această linie spuneam să nu sorteze tradiţional (după dată, descrescător) ci după titlu, crescător. Efectul a fost imediat! Am păstrat index.php cu bucla wp_loop tradiţională (astfel încât vizitatorii să poată să vadă noutăţile în faţă), dar un click pe – imaginata categorie – Mamifere le va oferi o listă alfabetică a posturilor.

[PHP]$posts = query_posts( $query_string . ‘&orderby=title&order=asc’ );
if (have_posts()) …[/PHP]

Acum, de la caz la caz, putem modifica pagina archive.php suplimentar, de exemplu eliminând the_excerpt/the_content şi atunci lista e mai… listă (fără alte conţinuturi). Desigur, ea tot va fi paginată, doar dacă nu modificăm în back-end numărul de articole pe pagini undeva la sute sau mii (ca să încapă sigur toate într-o pagină). Eu am preferat să scriu un mic plugin în care să extrag frumos datele, mai ales că folosesc şi câmpuri personalizate (custom fields). Astfel în final catalogul realizat cu WordPress seamănă tot mai puţin a blog: doar pe partea cu noutăţi mai apare data (când a fost pus un material) şi sortarea este după dată, descrescător. Cine revine după o perioadă poate afla de acolo noutăţile din catalog. Însă cine dă click pe numele unei categorii (în sidebar) va obţine articolele (fiecare articol prezentând de fapt o carte din catalog) în ordine alfabetică (am eliminat data – ce sens ar avea aici?). Dacă cineva vrea catalogul mai sumar, apasă pe un link şi se ajunge în modul trei: listă simplă.

imagine

Astfel de modificări permit folosirea WordPress-ului pentru proiecte la care poate până acum nu v-aţi gândit: un catalog de cărţi, filme, produse… sau o agendă de adrese şi telefoane – în orice proiect structura de bază este una alfabetică şi aţi evitat WordPress pentru că l-aţi considerat “fixat” pe ordonare cronologică. Recomandabilă, pentru standardizare, ar fi folosirea pluginului More Fields, deja prezentat (acum mai bine de un an, dar pluginul este bine întreţinut). Succes!


Apreciază articolul:

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

4 comentarii

  1. petrescs spune:

    WP e un CMS specializat pentru bloguri (si isi face treaba foarte bine pe aceasta zona). Exemple de CMS-uri generice mai cunoscute (cu care se pot face diverse tipuri de site-uri, *inclusiv* pentru blogging) sunt Drupal sau Joomla.

  2. radu.capan spune:

    WP este specializat pentru bloguri. Admit. Dar e mult mai puternic decat atat si nu cu mare dificultate (am aratat mai sus cum o linie de cod schimba un blog intr-un catalog). Drupal e inca stangaci, iar Joomla… mai putin prietenos. Se poate sa fie opinii subiective. Dar un lucru e obiectiv: WordPress are cea mai mare comunitate deci cea mai mare sansa sa gasesti un plugin, tema, modificare dupa gustul tau. Drupal si Joomla mai au drum lung de parcurs in acest sens.

  3. petrescs spune:

    Desigur, exista si o componenta subiectiva, in functie de familiarizarea cu codul/facilitatile unui anumit CMS. Exista destule articole „CMS-X vs. CMS-Y” usor de gasit pe net ca sa mai dau exemple aici. Si este evident ca, daca 1-2 linii de cod sau un plugin pot aduce facilitatea lipsa in CMS-ul preferat, ar fi absurd sa se aleaga o migrare completa la un alt CMS doar pentru ca acela o are „by default”.

    Alegerea pentru Drupal (in cazul meu particular) provine de la cerintele pe care le-am avut pentru realizarea unui site de intreprindere (cu mai multe tipuri de documente cu structuri interne diferite, acces multiuser cu diferite roluri date de apartenenta la departamente diferite, diverse rapoarte si interogari, formulare de completat, gestiune de documente samd samd) si care a fost realizat integral in Drupal, fara nici o linie aditionala de cod php. Nu neg ca s-ar fi putut face probabil si in WordPress intr-un final, insa cred ca erau necesare multe linii de cod suplimentare iar produsul final ar fi devenit astfel greoi de intretinut si actualizat la noi versiuni.

    Felicitari pentru site, il citesc zilnic.

  4. jürgen.toth spune:

    Un tutorial interesant pentru folosirea WP ca Webshop este oferit aici (in limba germana): http://www.wildbits.de/2008/12/14/webshops-mit-wordpress-teil-7/


Lasă un răspuns

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