我对Wordpress比较不熟悉,我正在为客户创建一个自定义主题。我想根据页面类型显示或删除主菜单。我研究了几个选项,比如从header.php中删除导航,并单独引用它,还使菜单有条件,这是可取的。
我有一个自定义的页面类型在我的主题称为"着陆页",我希望菜单永远不会被显示,虽然它会在每一个其他页面。最终会有很多这样的事情,我宁愿我不需要干预。
我宁愿不复制我的header.php文件,但我只能找到参考显示有条件的菜单,像下面的页面名称或ID,这似乎很荒谬。
<?php
if (is_page('contact')){
<?php include(TEMPLATEPATH.'/headerA.php'); ?>
}
elseif (is_page('gallery')){
<?php include(TEMPLATEPATH.'/headerB.php'); ?>
}
else {
<?php include(TEMPLATEPATH.'/headerA.php'); ?>
}
?>
不像上面那样包含文件,我将把整个内容放在标题中,并使导航具有条件。有人知道我应该如何使用我的自定义页面类型的着陆页,而不是通过页面名称,这样每个页面创建的类型将永远不会有一个菜单?
谢谢
您是在谈论自定义帖子类型(CPT)还是称为landing-page
的页面?
它们完全不同。见http://codex.wordpress.org/Post_Types
在任何情况下,这将适用于自定义帖子类型或页面:
if ( !is_singular( 'custom-post-type-name-or-page-slug-here' ) ) {
get_template_part('menu');
}
它说: "如果这个页面不是一个单一的页面或CPT,从主题文件夹加载文件menu.php。"
参见http://codex.wordpress.org/Include_Tags:
get_template_part()标签包含文件{slug}.php或{slug}-{name}.php从当前主题的目录,自定义包括页眉、侧边栏、页脚以外的标签