Constantele principale returnate prin functia get_bloginfo() din CMS-ul wordpress ofera posibilitatea de a manipula blogul intr-o maniera simpla. Aceste constante se refera in general la setarile blogului nostru, cum ar fii: numele blogului, adresa url, directorul themei curente etc.
In urma cu cateva zile am cautat prin fisierele CMS-ului o modalitate prin care sa pot folosi aceste constante in widgeturi (mai precis in widgetul Text). M-am gandit ca voi gasii predefinite niste tag-uri care se vor inlocui in textul widgetului, dar in zadar.
Asa ca m-am documentat de pe internet cum se pot aplica filtre pentru widgeturi si am inceput sa scriu o functie. Aceasta functie va inlocui tagurile predefinite de mine in textul widgeturilor. Functia am scris-o in fisierul functions.php din directorul themei, dar exista posibilitatea de a construi un plug-in care realizeaza aceasta operatiune (probabil am sa scriu un articol special in acest sens).
In urmatoarele randuri am sa descriu functia amintita mai sus:
function replace_bloginfo_vars( $text )
{
$vars = array('name', 'description', 'admin_email', 'url', 'wpurl', 'stylesheet_directory', 'stylesheet_url',
'template_directory', 'template_url', 'atom_url','rss2_url', 'rss_url', 'pingback_url', 'rdf_url',
'comments_atom_url', 'comments_rss2_url', 'charset','html_type', 'language', 'text_direction', 'version'); //lista de argumente posibile pentru functia get_bloginfo()
foreach($vars as $key)
$text = str_replace("{bloginfo-$key}",get_bloginfo($key),$text); //se inlocuieste fiecare tag cu constanta returnata de functia get_bloginfo()
return $text;
}
add_filter('widget_text', 'replace_bloginfo_vars', 11); //se aplica filtrul pentru continutul widgetului
In continuare am sa descriu un exemplu pentru utilizare a acestor taguri. Sa presupunem ca in blogul nostru dorim sa afisam in sidebar versiune de blog care o avem instalata. Dupa ce am adus un widget Text in sidebar, vor aparea doua campuri: titlu si continut. In campul continut, vom adauga urmatorul text: Folosesc versiunea {bloginfo-version}. Acest tag va fii inlocuit cu versiunea de wordpress instalata. Mai jos am postat o captura a widgetului.

Comentarii recente