当前我正在使用此代码打印父页面及其子页面的列表。
<?php
if($post->post_parent){
$children = wp_list_pages("title_li=&include=".$post->post_parent."&echo=0");
$children .= wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
} else {
$children = wp_list_pages("title_li=&include=".$post->ID."&echo=0");
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
}
if ($children) { ?>
<div class="meta-box">
<div class="nav-right">
<ul>
<?php echo $children; ?>
</ul>
</div>
</div>
<?php } ?>
当我在子页面上时,一切都很好。它打印父页面的标题及其子页面的标题。
但当我在父页上时,它只打印子页,而不打印父页的标题。
我想要实现的目标:
在父页面上时:
- 父标题(当前未显示)
- 儿童1
- 儿童2
- 儿童3
在子页面上时:
- 父标题
- 儿童1
- 儿童2
- 儿童3
如有任何帮助,将不胜感激
Mat
您的代码运行良好,在'else'规则中缺少一个句点
<?php
if($post->post_parent){
$children = wp_list_pages("title_li=&include=".$post->post_parent."&echo=0");
$children .= wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
} else {
$children = wp_list_pages("title_li=&include=".$post->ID."&echo=0");
$children .= wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
}
if ($children) { ?>
<div class="meta-box">
<div class="nav-right">
<ul>
<?php echo $children; ?>
</ul>
</div>
</div>
<?php } ?>