-
Cod:
add_filter ( 'wp_list_categories', 'category_link_span' );
function category_link_span( $list ) {
$list = str_replace( '/">' , '/"><span class="catlistspan">', $list);
$list = str_replace( '</a>' , '</span></a>', $list);
return $list;
}
Functia trebuie adaugata desigur intre tag-urile php in functions.php.
Ca sa intelegi mai bine ce face acest filtru.
Tu ai output-ul de forma <a title="" href="http://domeniu.com/cat/">Categorie</a>.
Filtrul va inlocui partea care am evidentiato cu bold cu /"><span class="catlistspan">Categorie</span></a>.
Daca vei renunta la ultimul slash in link-uri acest filtru nu va mai functiona.
Poti opta pt. o alta varianta
Cod:
add_filter ( 'wp_list_categories', 'category_link_span' );
function category_link_span( $list ) {
$list = str_replace( '<a' , '<span class="catlistspan"><a', $list);
$list = str_replace( '</a>' , '</a></span>', $list);
return $list;
}
dar in acest caz o sa ai
<ul>
<li><span><a>Categorie</a></span></li>
</ul>.
O alta varianta ar fi sa modifici prin core-ul wordpress dar nu e recomandat. Sau sa construiesti o functie mai complexa dar nu stiu acum sa iti dau o solutie.
Probabil sunt si pluginuri care inlocuiesc widget-ul default si in care se poate lucra mai usor. Nu stiu niciunul insa.
Bafta
-
Salut,
Functia 2 e buna, insa nu ma ajuta :)
Functia 1 nu merge, desi in teorie pare ok.
Am incercat si sa o modific sa o fac asa:
add_filter ( 'wp_list_categories', 'category_link_span' );
function category_link_span( $list ) {
$list = str_replace( '">' , '"><span class="catlistspan">', $list);
$list = str_replace( '</a>' , '</span></a>', $list);
return $list;
}
, dar tot nu e ok , output-ul e ceva de genu:
<li class="cat-item">
<span class="catlistspan">
<a title="" href="http://site.dev/cat/nume-categorie/">
<span class="catlistspan">Nume categorie</span>
</a>
</li>
deci pune si inca un span inainte de <a> , pe care nu-l inchide.
Multumesc pt ajutor.