-
Listare categorii markup
Salutare,
Vreau sa schimb markup-ul pt listarea categoriilor in wp.
Default e
<ul>
<li><a>Nume categorie</a></li>
<li><a>Nume categorie</a></li>
</ul>
si eu as vrea ceva de genul:
<ul>
<li><a><b>Nume categorie</b></a></li>
<li><a><b>Nume categorie</b></a></li>
</ul>
Ma poate ajuta cineva? :)
-
-
Salut,
Nu ma ajuta, n-are legatura cu css-ul.
Am nevoie de inca un element in <a> , gen <b>, ca sa pot face o anumita aranjare, nu ca sa fac numele categoriilor bold. :)
Mersi
-
Salut,
Am inteles eu gresit, iti sugerez sa alegi alti termeni pentru exemplificare ( <b> este sintaxa pentru strong sau bold )
Bafta
-
Nu poti sa pui b daca nu vrei bold si nu poti sa inventezi elemente html. Foloseste em si din css ii dai sa nu fie italic (sau cum vrei tu sa il faci). Sau adaugi propietati noi in css pt. a sau li in sidebar.
-
Cred ca nu m-ati inteles :)
Nu vreau neaparat <b> acolo , pot sa folosesc si un <span> de ex, ca sa am de ce ma lega ca sa pot face aranjarea pe care trebuie sa o fac.
Ideea e ca nu stiu cum sa generez o alta structura decat cea default pt listarea categoriilor.
-
Am inteles. Poti sa adaugi un filtru in functions.php
Cod PHP:
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;
}
Daca nu functioneaza da-mi un link cu site-ul tau sa vad cum e output-ul la tine.
-
@crt nu functioneaza.
Inca nu e live siteul respectiv, output-ul e de forma asta (din cate stiu asa e default):
<ul>
<li><a>Nume categorie</a></li>
</ul>
iar eu il vreau asa:
<ul>
<li><a><span>Nume categorie</span></a></li>
</ul>
Multumesc :)
-
Lasa-mi codul HTML care il da pagina pt. ca nu cred ca iti da <a><span>Nume categorie</span></a></li> ci ceva de genul <a href="" tile=""><span>Nume categorie</span></a></li>.
Varianta de mai sus a functionat la mine dar poate sa difere output-ul. Am inteles ce vrei.
-
Ti-am trimis un mesaj cu un print screen.
Mersi
-
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.