我刚刚在一个网站上用过这个!像这样的事情怎么样:
function rt_list_child_pages() {
global $post;
if ( is_page() && $post->post_parent )
$childpages = wp_list_pages( \'sort_column=menu_order&title_li=&child_of=\' . $post->post_parent . \'&echo=0\' );
else
$childpages = wp_list_pages( \'sort_column=menu_order&title_li=&child_of=\' . $post->ID . \'&echo=0\' );
if ( $childpages ) {
$string = \'<ul>\' . $childpages . \'</ul>\';
}
return $string;
}
add_shortcode(\'list-childpages\', \'rt_list_child_pages\');
上面的代码首先检查页面是否有父级,或者页面本身是否是父级。如果它是父页,则会显示与其关联的子页。如果它是子页面,则会显示其父页面的所有其他子页面。最后,如果这只是一个没有子页面或父页面的页面,那么代码将什么也不做。在代码的最后一行中,我添加了一个短代码,因此您可以轻松地显示子页面,而无需修改页面模板。
要显示子页面,只需在侧栏中的页面或文本小部件中添加以下短代码:
[rt子页面]
或者您可以添加函数
rt_list_child_pages()
到任何页面模板。