如何在WordPress中显示父页面的子页面列表

最近有一位用户问我们如何显示WordPress页面的子页面? 通常在具有子页面的页面上工作时,您可能希望在父页面上的侧栏小部件或模板中的其他位置显示这些子页面。 在本文中,我们将向您展示如何在WordPress中显示父页面的子页面列表。

现场

具有子页面列表的父页面

在我们开始之前,对于不熟悉子页面的人,请查看我们关于WordPress中帖子和页面之间区别的指南。 页面的一个重要特征是它们可以是分层的。 这意味着一个页面可以成为一个父页面,并在其下面有子页面(即子页面)。 这允许您在一个父页面下将不同的页面组合在一起。 例如,如果您在网站上有产品页面,则可以将页面(如功能,定价和支持)添加为子页面。 每个子页面也可以有自己的子页面。

要创建子页面,只需像通常那样在WordPress中创建或编辑页面即可。 在下面 页面属性 元框,从下拉菜单中选择一个父页面。

通过在WordPress中分配一个父页面来创建一个子页面

注意:如果您没有看到“页面属性”菜单,请点击屏幕右上角的“屏幕选项”按钮。 它将显示一个菜单,您需要确保页面属性被选中。

在WordPress中显示父页面上的子页面

要在父页面下列出子页面,您需要在特定于站点的插件或主题的functions.php文件中添加以下代码:

函数wpb_list_child_pages(){

 全球$ post;

 if(is_page()&& $ post-> post_parent)

 $ childpages = wp_list_pages('sort_column = menu_order&title_li =&child_of ='。$ post-> post_parent。'&echo = 0');
 其他
 $ childpages = wp_list_pages('sort_column = menu_order&title_li =&child_of ='。$ post-> ID。'&echo = 0');

 if($ childpages){

 $ string =' 
    ‘。 $子页面。 “

“;
}

返回$ string;

}

add_shortcode(’wpb_childpages’,’wpb_list_child_pages’);

上面的代码首先检查一个页面是否有父节点,或者页面本身是否是父节点。 如果是父页面,则显示与其关联的子页面。 如果是子页面,则显示其父页面的所有其他子页面。 最后,如果这只是一个没有子页面或父页面的页面,那么代码将无所作为。 在代码的最后一行,我们添加了一个简码,所以你可以很容易地显示子页面,而无需修改你的页面模板。

要显示子页面,只需在侧边栏的页面或文本小部件中添加以下简码:

[wpb_childpages]

在某些情况下,您的主题可能没有准备好在文本小部件中执行短代码。 如果它不工作,那么请参阅本教程,了解如何在WordPress侧边栏小部件中使用简码。

动态显示没有任何简码的子页面

使用简码是很方便的,但是使用简码的问题是,你必须在所有具有父页面或者子页面的页面中添加简码。 您可能会在很多页面中出现短代码,有时您甚至可能忘记添加短代码。

更好的方法是编辑主题中的页面模板文件,以便它可以自动显示子页面。 要做到这一点,你需要编辑主 page.php文件 模板或在您的主题中创建自定义页面模板。

在你的页面模板文件中,你需要添加这行代码来显示子页面。

就这样。 您的主题现在将自动检测子页面并显示它们。

如果您正在使用拥有自己的子页面的大量子页面的父页面,那么WordPress管理视图可能会令人困惑。 为了更好地组织父母和页面,请尝试使用管理列视图。

我们希望这篇文章帮助你在WordPress中列出子页面。 如果您有任何疑问或反馈,请通过在下面留言来告诉我们。

来源:托马斯·格里芬