Question

Comment puis-je ajouter des classes dans le wp_list_category, je sais que les wp_list_categories ( 'title_li ='); génère des classes, mais je veux ajouter une classe dans le lien de catégorie parente

<ul>
  <li><a href="#"> link1</a> </li>
  <li><a href="#">link2 </a> </li>
  <li><a href="#">link3 </a>    <---how do I add a special class here
      <ul class="children">  
        <li><a href="#">link3 children </a> </li>
        <li><a href="#"> link3 children</a> </li>
      </li>
 </li>
 </ul> 

Im planification d'utiliser un accordéon de l'interface utilisateur jquery ici,
s'il vous plaît aider. merci

-edit-- problème résolu par Paul, thanks man

Était-ce utile?

La solution

accordéon jquery accepte une option appelée en-tête qui vous permet de fournir un sélecteur pour désigner les éléments que vous souhaitez agir comme les en-têtes d'accordéon.

$('li.categories > ul').accordion({ header: 'li.categories > ul > li' });

Autres conseils

J'ai obtenu cela fonctionne principalement par rétro-ingénierie les accès-clés plugin . Le code est collé ci-dessous, mais ne hésitez pas à la caisse le code de ce plugin. Il peut vous aider à déchiffrer ce qui se passe un peu mieux.

add_filter('wp_list_categories', 'my_class_name_cats');
function my_class_name_cats($cats) {
        return preg_replace_callback('!(<li class="cat-item (cat)-item-([0-9]*)">[\s\S]*?<a([^>]*)>)!ims', 'my_class_name_finish', $cats);
}

add_filter('wp_list_pages', 'my_class_name_pages');
function my_class_name_pages($pages) {
    return preg_replace_callback('!(<li class="page_item (page)-item-([0-9]*)"><a([^>]*)>)!ims', 'my_class_name_finish', $pages);
}

function my_class_name_finish($matches){
    $id = $matches[3];
    $link = $matches[0];
    $class = $matches[4]. ' class="page-'.$id.'" ';
    $link = str_replace($matches[4], $class, $link);
    return $link;
}

Vous pouvez changer de classe = "la page - '$ id..'" À ce que vous voulez. À l'heure actuelle, il définit la classe page- [id de la page ou catégorie]

Ajoutez le code à vos thèmes functions.php. Si vous ne souhaitez que pour les catégories que vous pouvez ignorer le filtre wp_list_pages.

Hope this helps.

Il y a un filtre dans les travaux:

http://core.trac.wordpress.org/ticket/16497

Mais en attendant, une solution jquery pourrait être la meilleure solution pour vous, puisque vous chargez jquery de toute façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top