2013-07-01 59 views
0

我目前使用此代碼輸出(使用wp_list_pages)當前頁面子項的列表。wp_list_pages具有順序編號的當前頁面的子項目

<? 
if(wp_list_pages('child_of='.$post->ID.'&echo=0&exclude=2')) { 
wp_list_pages('title_li=&child_of='.$post->ID.'&exclude=2'); 
} 
elseif(get_the_title($post->post_parent) != the_title(' ' , ' ',false)) { 
wp_list_pages('child_of='.$post->post_parent.'&title_li=&exclude=2'); 
} ?> 

我想將這段代碼和另一段代碼合併在一起,這樣我就可以將順序編號添加到li元素中,如下所示。

<?php $list_of_pages = wp_list_pages('echo=0&title_li=&depth=1'); 
$list_pages = explode('<li class="',$list_of_pages); $len = count($list_pages); 
for ($i = 0; $i <= $len-2; $i++) : 
echo $list_pages[$i] . '<li class="link-' . ($i+1) . ' '; 
endfor; echo $list_pages[$i]; ?> 

但我不會用PHP特別方便,如果任何人都可以在使用的代碼相結合,將是非常感謝這兩個片段指向正確的方向我。

+0

如果我沒有錯誤的第二個代碼片斷實際上添加序列號到列表項類。 – coletrain

+0

它的確如此,但我不知道如何將這兩段代碼一起使用。 – Giles

+0

代碼片段2執行的代碼片段之一,但將序列號添加到列表項類。你不需要將它們結合起來,因爲片段二可以做你想做的事情。 – coletrain

回答

1

這是有點混亂,但它的工作原理,並且總有餘地重構未來的代碼。下面的代碼首先檢查頁面是否是子頁面的父頁面。如果是孩子頁面,它只會顯示孩子。它爲每個列表項(甚至子項)添加一個增量計數器,並通過調用echo = 0來啓動計數器。希望這可以幫助

<?php 

    if(wp_list_pages('child_of='.$post->ID.'&echo=0&exclude=2')) { 
     $list_of_pages = wp_list_pages('echo=0&title_li=&child_of='.$post->ID.'&exclude=2'); 
     $list_pages = explode('<li class="',$list_of_pages); $len = count($list_pages); 
     for ($i = 0; $i <= $len-2; $i++) : 
     echo $list_pages[$i] . '<li class="link-'.($i+1). ' '; 
     endfor; echo $list_pages[$i]; 
    } 

    elseif(get_the_title($post->post_parent) != the_title(' ' , ' ',false)) { 
    $list_of_pages = wp_list_pages('echo=0&child_of='.$post->post_parent.'&title_li=&exclude=2'); 
    $list_pages = explode('<li class="',$list_of_pages); $len = count($list_pages); 
    for ($i = 0; $i <= $len-2; $i++) : 
    echo $list_pages[$i] . '<li class="link-'.($i+1). ' '; 
    endfor; echo $list_pages[$i]; 

} ?> 
相關問題