我正在尝试制作一个短代码,我可以将其放入一个小部件中,如果有其他显示孩子的小部件,它将显示兄弟姐妹。
以下是我的代码:
//sidebar siblings menu
function rt_list_children() {
global $post;
$page = $post->ID;
if ( $post->post_parent ) {
$page = $post->post_parent;
}
$children = wp_list_pages( array(
\'child_of\' => $page,
\'title_li\' => \'\',
\'echo\' => \'0\',
) );
if ($children) {
$output = \'<ul>\';
$output .= $children;
$output .= \'</ul>\';
} else {
$output = \'\';
}
return $output;
}
add_shortcode (\'sidebar-menu\',\'rt_list_children\');
然后,在html小部件中,我粘贴[sidebar-menu]
.现在,菜单只显示在孩子和兄弟姐妹的页面上。它显示了兄弟姐妹。
理想情况下,我想如果这是一个没有孩子的顶级页面,不要显示。
如果是包含子级的顶级页面,请显示子级。
如果是包含兄弟姐妹的子页面,请显示兄弟姐妹。
离这里近吗?
也许有一种方法可以做到这一点,而无需创建家长,但只需使用我在外观/菜单中设置的菜单,它将只显示我在那里设置的孩子的选项?