是否按插件而不是ID列出子页面?

时间:2012-08-15 作者:Danny

我希望使用wp\\u list\\u pages函数来显示特定页面ID的子页面。我可以很容易地做到这一点,但现在我发现了一个问题。我正在运行一个Wordpress网站网络(共8个)。我正在尝试将其设置为只需要2个主题文件夹,因为有2个主博客,每个主博客下有3个子网站。因此,我正在尝试在我的主题文件中进行尽可能多的动态调用,以防止每个站点重复主题。

在侧边栏中,我使用以下代码:

<ul>
<?
    wp_list_pages(\'orderby=name&depth=1&order=DESC&show_count=0&child_of=10&title_li=\');
?>
</ul>
我遇到的问题是,在每个子站点上,页面ID都已更改,但我的站点地图大部分没有更改。因此,在我的主站点上,child\\u of=10在侧边栏中显示正确的子页面,但在我的子站点中,child\\u of=10是一个不同的页面,因此我无法显示正确的子页面。我也有类似的问题,但我能够做到以下几点:

<?
    $category = get_category_by_slug(\'news\');
    wp_list_categories(\'orderby=name&order=DESC&show_count=0&exclude=53&title_li=&child_of=\'.$category->term_id);
?>
我正在尝试为wp\\U list\\u页面实现类似的解决方案,我使用一个页面slug来识别子页面,而不是页面ID。我一直在四处挖掘,尝试在Google/here上找到的一些帖子,但运气不好。希望有人能帮我。

1 个回复
SO网友:Tom Auger

为什么不使用get_page_by_title() 获取页面对象,然后将其ID作为参数的子项\\u传递?

如果你想用实际的子弹,那么get_page_by_path( $slug ) 应该做到这一点。

因此:

if ( $page = get_page_by_path( \'your-page-slug\' ) ){
  wp_list_pages( \'orderby=name&depth=1&order=DESC&show_count=0&child_of=\' .$page->ID . \'&title_li=\' );
}

结束