In atentia mea

Brambureli tehnice la blog (WordPress 2.8)

, , , 4 comentarii

geek

Saptamina trecuta a fost deosebit de tehnica. Am avut de lucru atit la Milionarul Mioritic cit si la fapturbo.ro, exclusiv pentru rezolvarea unor probleme  legate de software.  Acest articol este dedicat celor care au un blog pe platforma WordPress si au facut upgrade la versiuna 2.8

In urma cu vreo zece zile, pe cind deschideam blogul in sectiunea de administrare, am observat ca a aparut versiunea 2.8 de WordPress. Mai nou platforma are integrata o functionalitate de upgrade automat. Am utilizat-o si am primit prima eroare:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes) in /home/public…

Am mai vorbit de aceasta problema, care se rezolva modificind fisierul wp-settings.php la linia 13, de la 32M la 64M (sau mai mult in functie de cit de ‘incarcat’ e blogul vostru).

Am procedat in consecinta si am reluat upgrade-ul, care a functionat fara probleme, conforma notificarii primite. In acel moment am facut greseala sa nu verific daca blogul se incarca fara greseala.

Ulterior, pe cind incercam noul browser de la Google, denumit Chrome (pe care va recomand sa-l testati pentru ca este mai rapid decit Firefox), am vrut sa vad cum se incarca Milionarul cu el, pentru ca stiam din experienta ca sub Internet Explorer site-ul se vede diferit. Atunci am vazut problema: nu se incarcau widget-urile de pe margine (cu reclame si link-urile de abonare) si widgeturile de la final (cu topurile sectiunilor site-ului). Mi-am zis ca e o problema de brower dar am vrut sa verific si bine am facut. Am deschis site-ul in Firefox si s-a incarcat la fel. Atunci mi-am dat seama de problema, amintindu-mi de upgrade-ul facut cu zile in urma.

Era aproape miezul noptii dar fiind o problema importanta, am inceput sa repar stricaciunea, crezind ca o sa-mi ia cel mult treizeci de minute. M-am culcat pe la trei dimineata, fara sa rezolv decit partial disfunctionalitatile.

A doua zi am inceput cu forte proaspete si in jumatate de ora am terminat. Ce se intimplase?

La upgrade, baza de date nu s-a salvat cum trebuie si mi-au disparut toate setarile de la widget-urile din sidebar si din footbar. Amintesc ca folosesc Arthemia scrisa de Michael Jubel.

Am inceput sa refac din memorie casetele dar m-am impotmolit pentru ca  patru dintre ele, cele care foloseau plugin-ul Popularity Contest a lui Alex King, nu puteau fi setate. Intre timp facusem update si la acest plugin, care isi schimbase codurile de listare a rezultatelor.

Pentru cine nu stie de acest plugin, trebuie sa spun ca este extrem de folositor. Iti permite sa vezi de cite ori este vizionata o pagina web si iti realizeaza o multime de clasamente bazate pe aceste informatii. Norocul meu ca la upgrade-ul plugin-ului si al WordPress-ului nu am pierdut bazele de date de la acest plugin, pe care il folosesc de mult timp.

King a facut si o versiune a pluginului pentru folosirea in cadrul widgetului, versiune care are vreo zece posibilitati in care sa listeze clasamente ale numarului de accesari ale articolelor. In sidebar folosesc aceasta versiune (vezi Top 20). In schimb, in footbar doream sa fac niste clasamente speciale, pe categorii de articole (finante personale, investitii la bursa si investitii imobiliare). Cu aceste clasamente am pierdut orele mele de somn din acea noapte.

Am citit si folosit intocmai tutorialul si exemplele pentru a seta un clasament in functie de categoria de articole, care foloseste functia de WordPress cat_ID. Am incercat zeci de variante si nu a functionat. Se facuse trei dimineata si nu aveam nici o solutie. Atunci mi-am dat seama ca trebuie sa vad codul plugin-ului ca sa imi dau seama cum isi defineste, in sectiunea de Widget, instructiunile de querry. Am lasat pe dimineata acest lucru si bine am facut.

A doua zi, cu forte proaspete, am reperat problema si am rezolvat-o. Dupa upgrade, se modificase sintaxa plugin-ului, dar King a uitat sa modifice si documentatia. Iata ce srie in tutorial, despre folosirea functie de listare dupa categorii:

akpc_most_popular_in_cat($limit = 10, $before = <li>, $after = </li>, $cat_ID = current category)

Oricit am incercat (sint trei exemple de folosire) nu am reusit. Problema era urmatoarea: variabilele trebuia ‘livrate’ intre ghilimele, adica:

akpc_most_popular_in_cat($limit = ’10’, $before = ‘<li>’, $after = ‘</li>’, $cat_ID = ‘4’)

Am facut acest lucru si a functionat. Bucuria mi-a fost de scurta durata pentru ca dupa ce am setat cele trei footbar-uri, am observat ca schimbarea codului la right-footbar producea listarea acestui cod la right-sidebar iar modificarea center-footbar producea listarea acestui cod la top-sidebar.

Prin eterna metoda trial&error (din greseala in greseala spre victoria finala) am ajuns la concluzia ca trebuie sa setez intii footbar-urile, apoi sa sterg sidebar-urile si sa le scriu din nou. Altfel nu functioneaza.

Se pare ca este un bug la sectiunea de widget management de la WP 2.8, pentru ca ea e diferita de cea de la WP 2.7  . Daca vreti sa editati un widget, este recomandabil sa-l stergeti pe cel vechi si sa-l scrieti din nou (incercati asta daca aveti probleme).

Daca tot am facut aceste modificari, am introdus o noua pagina in care va propun cinci motive pentru care sa va abonati la Milionar. Le puteti citi aici.

Tot saptamina trecuta m-am ‘distrat’ cu programe de video editare (am instalat si incercat vreo sapte inainte de a gasi solutia pe care o doream) dar asta e alta poveste, prezenta in blogul fapturbo.ro

Standard