我的设置如下:
- 称为“客户”的自定义帖子类型
- 2 级导航(单独的,第二级仅显示当前页面是否有父/子)
- 称为客户的页面
- 客户帖子具有自定义模板(单-客户端.php)
我想让任何“客户”发布客户页面的子页面/子页面,以便导航在客户页面上正确显示(它会自动列出子页面)并且很容易添加新客户。
我找到了几个脚本,但没有一个完全符合我的要求。
这是我的子导航代码的主要部分:
<nav id='content_clients_navig' class='navig_general'>
<ul>
<?php
global $post;
//determine which navig should be displayed
//if post has parent, display parent navig
//else display the current post's navig
$navig_display = ($post->post_parent) ? $post->post_parent : $post->ID;
$menu_args = array(
'child_of' => $navig_display,
'title_li' => ''
);
wp_list_pages( $menu_args );
?>
</ul>
</nav>
我通过在我的模板文件中插入这段代码来调用它:
<?php if (has_subnavig()) get_template_part( 'part', 'subnavig' ); ?>
这是 has_subnavig:
function has_subnavig()
{
global $post;
if( is_page() && $post->post_parent){
return true;
}else{
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
};
if($children){
return true;
}else{
return false;
};
}