移除page.php多余页眉/横幅及非首页重复横幅问题求助
解决WordPress站点重复页眉/横幅问题
看起来你的问题出在banner.php的加载逻辑和主题默认页眉的输出重复了。结合你给出的代码片段,我来帮你梳理下问题和解决方案:
问题分析
你提供的banner.php开头有这段判断:
if ( ( is_front_page()) || is_page_template( 'templates/home.php' ) ) { return; }
这段代码的作用是首页或使用home.php模板的页面会跳过这个banner的加载,但其他所有页面都会强制输出这里的banner内容。如果你的主题本身已经在页面顶部渲染了默认的页眉/横幅,就会出现重复的情况。
解决方案
根据你的需求,有几个不同的处理方向:
1. 只在特定页面加载这个额外banner
如果你希望这个banner仅出现在部分页面(比如关于我们、服务页等),可以修改判断逻辑,用is_page()指定允许加载的页面:
// 替换原来的判断代码 // 这里填需要显示banner的页面slug或ID,多个用数组 $target_pages = array('about-us', 'services', 45); if ( is_front_page() || is_page_template('templates/home.php') || !is_page($target_pages) ) { return; }
2. 完全移除这个额外的banner加载
如果这个banner是多余的(主题已经有默认页眉),直接让所有页面都跳过这个文件的执行即可:
// 修改判断,让所有页面都返回,不加载banner if ( true || is_front_page() || is_page_template('templates/home.php') ) { return; }
或者更干脆,直接删除banner.php里除注释外的所有代码(保留注释不影响)。
3. 检查主题的默认页眉模板
打开主题目录下的header.php,看看里面是否已经有输出横幅/页眉的代码。如果主题本身的页眉已经包含了类似内容,那你需要确认banner.php是否是不必要的额外加载,或者调整两者的逻辑避免重复。
额外排查步骤
- 先找到
banner.php被调用的位置:通常在主题的functions.php或者某个页面模板里,会有get_template_part('banner')这类代码,确认是否被重复调用。 - 临时注释掉
banner.php里的所有代码(除了开头的判断),刷新页面看看重复的横幅是否消失,这样就能100%确认是不是这个文件导致的问题。
内容的提问来源于stack exchange,提问作者Jay Roze
相关产品推荐
相关产品推荐

