WordPress: eliminarea unui tag din afişări


O problemă simplă dar la care nu am găsit o soluţie online. Poate că există, poate că nu am căutat suficient de bine. Descriere: un anume sit WordPress are un carusel în care sunt arătate ultimele n articole ce au eticheta featured. Când posesorul sitului a dorit să arate tagurile (hai să le spunem etichete) sub articole, hopa şi eticheta featured. Dar informaţia era şi ne-necesară, şi arăta ca nuca în perete printre tagurile celelalte (captura fictivă de mai jos ilustrează ideea). Aşa că provocarea (pe care mi-a pasat-o): cum poţi să afişezi etichetele unui articol WordPress, fără una anume?

imagine

Acum una din două: sau mă fac de râs, sau dau soluţia salvatoare. Dacă mă fac de râs tot câştig, căci poate cineva îmi spune o soluţie mai bună şi învăţ ceva! Mi-ar fi plăcut ca sintaxa lui the_tags() sau get_the_tag_list() să permită să elimini o anume etichetă (cum poţi de exemplu la enumerarea categoriilor şi în alte ipostaze) sau ca get_tags() să meargă pe articolul curent, nu generic. Ei bine, nu mi-a rămas decât un lucru: rămânând la the_tags(), soluţia implicită din majoritatea temelor WordPress. Iau valoarea şi elimin codul asociat etichetei ce nu o dorim afişată. Exemplific cu un cod mai jos, unde evident linia a doua trebuie adaptată propriului sit. Şi… gata!

$tag_list = get_the_tag_list('<p class="meta-tags">',', ','</p>');
$eliminat='<a href="http://www.situlmeu.ro/eticheta/important/" rel="tag">Important</a>';
$seliminat=array("$eliminat, ",", $eliminat","$eliminat");
$tag_list=str_replace($seliminat,"",$tag_list);
echo $tag_list;

PS: Apropo, am căutat şi în WP-Snippets.com şi nu am găsit. Dar dacă re-menţionez situl e pentru că recent a cunoscut o “renovare” serioasă şi e mai util ca niciodată. Desigur, când dai de ce îţi trebuie. Când nu dai, încerci să rezolvi singur :) . Ori cu un prieten.


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (Neevaluat încă)
Loading...Loading...

0 comentarii


Lasă un răspuns

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