0

我目前正在使用此代码输出(使用 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并不是特别方便,如果有人能指出我正确的方向来使用这两个代码片段的组合,我将不胜感激。

4

1 回答 1

0

它有点乱,但它可以工作,并且将来总是有重构以下代码的空间。下面的代码首先检查页面是否是子页面的父页面。如果它是子页面,它将只显示子页面。它为每个列表项(甚至是子项)添加一个增量计数器,并通过调用 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];

} ?>
于 2013-07-01T22:15:31.913 回答