如何在没有小工具的情况下在侧边栏中列出子页面

时间:2012-12-08 作者:Adam

我正在尝试创建一个父页面的子页面列表,它将出现在我的wordpress站点的侧栏中。此侧边栏将出现在每个页面上。

例如,我有一个ID为54的页面。本页共有7个子页。我想在侧边栏中显示这7页(只是标题),以及添加的任何子页面。

目前有一个名为“页面”的小部件可以做到这一点,但我想通过侧栏中的代码直接做到这一点。php而不是使用小部件,因为使用小部件有一些限制。

1 个回复
最合适的回答,由SO网友:dang 整理而成

最简单的解决方案是:

<li><ul>
<?php wp_list_pages(\'title_li=&child_of=\'.$post->ID.\'\'); ?>
</ul></li>
使用此代码可提高灵活性:

<?php if ( is_page() ) { ?>

<?php
if($post->post_parent)
$children = wp_list_pages(\'title_li=&child_of=\'.$post->post_parent.\'&echo=0\'); else
$children = wp_list_pages(\'title_li=&child_of=\'.$post->ID.\'&echo=0\');
if ($children) { ?>

<li>
<h2>
<?php
$parent_title = get_the_title($post->post_parent);
echo $parent_title;
?>
</h2>
<ul>
<?php echo $children; ?>
</ul>
</li>
<?php } } ?>

结束

相关推荐

list child pages as slug

我在我的网站上有一个部分,需要一个页面列表,这些页面是特定ID的后代。我需要将它们列在子页面和孙子页面上。但是页面标题太长,所以我需要使用slug作为标题。我想我可以只使用wp\\u list\\u页面并专门调用此ID的后代,但wp\\u list\\u页面似乎没有办法列出slug而不是页面标题。此外,我必须使用str\\u替换段塞中的破折号。有人能告诉我从哪里开始吗?我最终使用了下面的,这没有更好的效果。。。有什么见解吗?function is_tree($pid) { global