WordPress的 - 添加类到wp_list_pages

问题描述:

有谁知道如何编辑/更改Wordpress的wp_list_pages函数,以添加类到ul和li项目?WordPress的 - 添加类到wp_list_pages

我想实现新版本的jquery.treeview需要<li class="expandable"><ul style="display: none;">可扩展列表和子ul。

我一直是这样瞎搞,但它不是工作,因为它的“扩张”类适用于所有李时珍太好:

$pages = wp_list_pages('title_li=&echo=0'); 
     $pages = preg_replace('/class="/','class="expandable ', $pages); //note space on end of replacement string     
     //output 
     echo $pages; 

这里是输出HTML应该是什么样子:

<ul class="treeview" id="tree"> 

     <li><a href="#">Home</a></li>   
     <li class="expandable"><a href="#">Expand 1</a> 
      <ul style="display: none;"> 
       <li class="expandable"><a href="#">Expand 2_1</a> 
        <ul style="display: none;"> 
         <li><a href="#">Expanded 3_1</a></li> 
         <li><a href="#">Expanded 3_2</a></li> 
         <li><a href="#">Expanded 3_3</a></li> 
        </ul>      
       </li> 
       <li class="expandable"><a href="#" >Expand 2_2</a> 
        <ul style="display: none;"> 
         <li><a href="#">Expanded 4_1</a></li> 
         <li><a href="#">Expanded 4_2</a></li> 
         <li><a href="#">Expanded 4_3</a></li> 
        </ul> 
       </li>      
      </ul> 

希望这是有道理的,并十分赞赏任何帮助,S.

我想你试图激活页面项目上的树形视图。因为这需要JavaScript的你根本就初始化树视图前添加使用JavaScript类:

$("#tree li").addClass("expandable"); 
$("#tree").treeview(); 

如果你也想隐藏就可以使用jQuery的所有UI元素,太(约正确的语法不知道):

$("#tree ul").hide(); 
+0

哇,似乎没有在'addClass'前面做任何事情,但'隐藏'似乎已经完成了。很多很多谢谢,S. – ss888 2010-11-16 14:49:26

+0

我通常这样做,因为如果您只使用js隐藏它而不是使用PHP添加的类,非js用户仍然能够看到所有内容。顺便说一句:随时接受答案;) – 2ndkauboy 2010-11-16 14:51:21

也许这个插件(Classy wp-List)有帮助。我还没有尝试过,但它说它会让你为后端的每个页面定义一个类。

祝你好运。

+0

将是一件好事,但我还需要添加到UL的:( – ss888 2010-11-16 14:25:16

+0

啊..不好意思。但是你可以针对UL通过jQuery添加CSS“$(‘#树UL’)。addClass( “hide”);'然后定义一个css类'.hide {display:none;}' – tobiasmay 2010-11-16 16:02:45