Pregunta

¿Cómo agrego clases en wp_list_category? Conozco las gategorías wp_list_catorias ('title_li ='); genera clases, pero quiero agregar una clase en el enlace de categoría principal

<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> 

Estoy planeando usar un acordeón de ui jQuery aquí,
por favor ayuda. gracias

-Edit-- Problema resuelto por Paul, gracias hombre

¿Fue útil?

Solución

JQuery Accordion acepta una opción llamada encabezado que le permite proporcionar un selector para designar los elementos que desea actuar como encabezados de acordeón.

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

Otros consejos

He conseguido que esto funcione principalmente por ingeniería inversa de la complemento de keys de acceso. El código se pega a continuación, pero no dude en revisar el código para ese complemento. Puede ayudarlo a descifrar lo que está pasando un poco mejor.

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;
}

Puede cambiar class = "Page-'. $ Id." A lo que quiera. Actualmente establece la clase en página- [ID de página o categoría

Agregue el código a las funciones de sus temas.php. Si solo lo desea para categorías, puede ignorar el filtro WP_LIST_PAGES.

Espero que esto ayude.

Hay un filtro en proceso:

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

Pero mientras tanto, una solución jQuery podría ser la mejor para usted, ya que está cargando jQuery de todos modos.

Licenciado bajo: CC-BY-SA con atribución
scroll top