如何在wp_list_ategory父链接中添加类

时间:2011-03-23 作者:arnold

如何在wp\\u list\\u类别中添加类,我知道wp\\u list\\u类别(\'title\\u li=\');生成类,但我想在父类别链接中添加一个类

<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> 
我计划在这里使用jquery UI手风琴,请帮助。非常感谢。

-编辑--问题由Paul解决,谢谢

3 个回复
最合适的回答,由SO网友:Paul Cook 整理而成

jquery accordion接受一个名为header的选项,该选项允许您提供一个选择器来指定要用作accordion头的项目。

$(\'li.categories > ul\').accordion({ header: \'li.categories > ul > li\' });
<小时>

SO网友:PNMG

我主要通过逆向工程来实现access-keys plugin. 代码粘贴在下面,但请随意签出该插件的代码。它可能会帮助你更好地理解正在发生的事情。

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;
}
您可以将class=“page-”.$id.”更改为您想要的任何内容。当前,它将类设置为page-[页面或类别的id]

将代码添加到主题函数中。php。如果您只想将其用于类别,则可以忽略wp\\u list\\u pages筛选器。

希望这有帮助。

SO网友:goldenapples

工程中有一个过滤器:

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

但同时,jquery解决方案可能最适合您,因为您正在加载jquery。

结束

相关推荐