你当然可以用一些preg_replace()
解决此问题的技巧,但这里有一个小(未经测试)想法,使用the_title
改为筛选:
add_filter( \'the_title\', \'wpse_title\' );
$children = wp_list_pages("title_li=&include=".$post->post_parent."&echo=0");
我们的过滤器回调是:
function wpse_title( $title )
{
remove_filter( current_filter(), __FUNCTION__ );
return __( \'Overview\' );
}
备注1:我认为您应该考虑更换
wp_list_pages()
生成单亲链接并改为使用的方法
get_permalink( $parent_id )
或
get_page_link( $parent_id )
从父页面ID。然后您可以轻松地从控制链接名称。
<li>
<a href="<?php echo get_permalink( $parent_id ); ?>">Overview</a>
</li>
您已经在其中一个关卡上使用了此选项,那么为什么不在其他关卡上使用呢?
备注2:get_post_ancestors()
帮助您获取当前树级别的位置。
例如:
$ancestors_ids = get_post_ancestors( get_the_ID() );
$level = count( $ancestors_ids ) ;
然后,您可以通过以下方式获取当前页面的父ID:
$parent_id = ( $level > 0 ) ? array_shift( $ancestors_ids ) : 0;
下面是一个案例
$level = 2
可能看起来像:
<ul class="submenu">
<li>
<a href="<?php echo get_permalink( $parent_id ); ?>">Overview</a>
</li>
<?php echo wp_list_pages("title_li=&child_of=".$parent_id."&echo=0&depth=1"); ?>
</ul>
也许你的
$level = 1
可能是:
<ul class="submenu">
<li>
<a href="<?php echo get_permalink( $parent_id ); ?>">Overview</a>
</li>
<?php echo wp_list_pages("title_li=&child_of=".get_the_ID()."&echo=0&depth=1"); ?>
</ul>
等等。。