有条件地在Wordpress中显示页面类型的菜单

时间:2014-05-12 01:16:58

标签: php wordpress wordpress-theming

我对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'); ?>
}
?>

不是包含上面的文件,而是将整个内容放入我的标题中,只需使导航成为条件。有谁知道我应该如何使用我的自定义页面类型登录页面而不是页面名称来处理这个问题,因此使用该类型创建的每个页面都不会有菜单?

由于

1 个答案:

答案 0 :(得分:0)

您是在谈论自定义帖子类型(CPT)还是名为landing-page的网页?

他们完全不同。见http://codex.wordpress.org/Post_Types

无论如何,这适用于自定义帖子类型或页面:

if ( !is_singular( 'custom-post-type-name-or-page-slug-here' ) ) {

get_template_part('menu');

}

它说:&#34;如果此页面不是单个页面或CPT,请从主题文件夹加载文件menu.php。&#34;

另见http://codex.wordpress.org/Include_Tags

  

get_template_part()标记包含文件{slug} .php或   {slug} - {name} .php来自您当前主题的目录,一个自定义   包括标题,侧边栏,页脚以外的标记。