2010-11-16 84 views
1

有誰知道如何編輯/更改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.

回答

3

我想你試圖激活頁面項目上的樹形視圖。因爲這需要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

0

也許這個插件(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