我在WordPress中有以下导航结构:
Page
Sub Page
Child Page
Child Page
Child Page
Page
Sub Page
Child Page
Child Page
Child Page
Page
Sub Page
Child Page
Child Page
Child Page
在每个子页面和子页面上,我想在侧栏中显示以下内容:
Sub Page
Child Page
Child Page
Child Page
我最接近的是来自here的以下代码:
<ul>
<?php
global $post;
$current_page_parent = ( $post->post_parent ? $post->post_parent : $post->ID );
wp_list_pages( array(
'title_li' => '',
'child_of' => $current_page_parent,
'depth' => '1' )
);
?>
</ul>
但是,在子页面上它只显示所有子页面(没有子页面)的列表,在子页面上,它显示该部分的子页面列表,但缺少父子页面标题。
如何修改以实现我正在寻找的目标?
谢谢!
答案 0 :(得分:0)
是的,你是对的,这不显示子或子的父页面,因为你可以使用下面的代码。
<?php if ( $post->post_parent ) {
$children = wp_list_pages( array(
'title_li' => '',
'child_of' => $post->post_parent,
'echo' => 0
) );
$title = get_the_title( $post->post_parent ); } else {
$children = wp_list_pages( array(
'title_li' => '',
'child_of' => $post->ID,
'echo' => 0
) );
$title = get_the_title( $post->ID );} if ( $children ) : ?>
<h2><?php echo $title; ?></h2>
<ul>
<?php echo $children; ?>
</ul>