好的,我正在做一个菜单(侧边栏菜单),它将显示父页(当前打开)的所有子页,父页-子页1-子页2-子页3,但在同一时间,当有人在加粗页(子页)中时,将看到相同的内容父页-子页1-子页1_|-Child 2
uuu124;-Child 3
-Child 2
-Child 3
目前我使用的下一个代码可以很好地完成第一项工作,但不能完成第二项工作,我尝试了几件事,但都没有成功
<?php if ( is_page() ) {
if($post->post_parent)
$children = wp_list_pages(\'title_li=&child_of=\'.$post->post_parent.\'&echo=0&sort_column=post_date&sort_order=DESC\'); else
$children = wp_list_pages(\'title_li=&child_of=\'.$post->ID.\'&echo=0&sort_column=post_date&sort_order=DESC\');
if ($children) { ?> .......
提前感谢
Simon回答说,编辑是有效的,但不是所有情况下都有效,所以我现在编辑的最终代码是:
<?php if ( is_page() ) {
$stats = count($post->ancestors);
if($post->post_parent){
if($stats == 2){
$children = wp_list_pages(\'title_li=&child_of=\'.get_post( $post->post_parent )->post_parent.\'&echo=0&sort_column=post_date&sort_order=DESC&depth=1\');
}else{
$children = wp_list_pages(\'title_li=&child_of=\'.$post->post_parent.\'&echo=0&sort_column=post_date&sort_order=DESC&depth=1\');
}}
else{
$children = wp_list_pages(\'title_li=&child_of=\'.$post->ID.\'&echo=0&sort_column=post_date&sort_order=DESC&depth=1\');
}
if ($children) { ?> ....
以防其他人需要这些东西,干杯并感谢快速帮助
最合适的回答,由SO网友:Simon 整理而成
你能试试这个吗?我们的想法是,如果有父级,我们应该列出该父级的父级的页面。
<?php if ( is_page() ) {
if($post->post_parent) {
$children = wp_list_pages(\'title_li=&child_of=\'. get_post( $post->post_parent )->post_parent .\'&echo=0&sort_column=post_date&sort_order=DESC\');
} else {
$children = wp_list_pages(\'title_li=&child_of=\'.$post->ID.\'&echo=0&sort_column=post_date&sort_order=DESC\');
}
}
另一种解决方案是
depth
根据codex,选项只能列出顶级页面:
<?php if ( is_page() ) {
if( $post->post_parent ) {
$children = wp_list_pages(\'title_li=&depth=1&echo=0&sort_column=post_date&sort_order=DESC\');
} else {
$children = wp_list_pages(\'title_li=&child_of=\'.$post->ID.\'&echo=0&sort_column=post_date&sort_order=DESC\');
}
}
抱歉,我没有时间尝试代码,但请告诉我们这是否有帮助。