我正在使用自定义WP主题构建网站,我一直在使用:
<?php include(\'header-bar.php\'); ?>
以便在每个页面上包含导航栏。我故意没有把导航放在标题中。php文件,因为我不需要在每个页面上都使用它。
这段代码在某些地方运行良好,但在其他地方却失败了。
它适用于以下场景:
<?php get_header(); ?>
<div class=\'main-content\'>
<?php include(\'header-bar.php\'); ?>
<div class=\'container\'>
<?php
if ( have_posts() ) : while ( have_posts() ) : the_post();
get_template_part( \'content\', get_post_format() );
endwhile; endif;
?>
</div>
</div>
<?php get_footer(); ?>
但在这种情况下,它神秘地失败了:
<?php
/*
Template Name: Contact
*/
?>
<?php get_header(); ?>
<div class=\'main-content\'>
<?php include(\'header-bar.php\'); ?>
<div class=\'container\'>
<?php
if ( have_posts() ) : while ( have_posts() ) : the_post();
get_template_part( \'content\', get_post_format() );
endwhile; endif;
?>
</div>
</div>
<?php get_footer(); ?>
在第二个场景中,页面正确显示,除了“标题栏”。php的代码,但找不到。我所做的似乎“打断”这行代码的更改是通过添加模板名称。有谁能解释一下为什么会这样?我很困惑。
提前感谢!心肺复苏术
最合适的回答,由SO网友:AddWeb Solution Pvt Ltd 整理而成
你好,CandyPaintedRIMS,
请尝试get_template_part() 函数将任何文件包含到自定义模板中。
Your code:
<?php include(\'header-bar.php\'); ?>
It should be replaced with:
<?php get_template_part( \'header-bar\' ); // include header-bar.php ?>
希望这对你有帮助。
非常感谢。