You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为特定WordPress页面模板入队样式?函数调用失败求助

解决WordPress中is_page_template()无法正确识别页面模板的问题

首先,我注意到你遇到的核心问题是把基于页面ID的样式/脚本控制换成模板检测后失效了,咱们一步步来排查和解决:

先给你修正后的可用代码

先把functions.php里的代码改成这样,后面我会解释为什么:

if ( !function_exists('scripts_and_css') ) {
    function scripts_and_css() {
        // 核心:用模板文件名作为参数,确保路径正确
        if ( is_page_template('page-landing-page.php') ) {
            // 加载着陆页专属样式
            wp_enqueue_style('landingpage', get_stylesheet_directory_uri() . '/css/landing__page.css', '', null);
            // 加载脚本时建议加上依赖和 footer 加载标记(最后一个true),优化性能
            wp_enqueue_script('landingpage', get_stylesheet_directory_uri() . '/js/landing-page.js', array(), null, true);
            
            // 移除冗余样式时,建议同时注销样式,防止其他地方重新加载
            wp_dequeue_style('layout');
            wp_deregister_style('layout');
        }
    }
}
// 提高优先级,确保在原主题样式加载后执行
add_action('wp_enqueue_scripts', 'scripts_and_css', 20);

关键排查和修复步骤

1. 先检查你的页面模板注释是否正确闭合

这很可能是你最核心的问题!你的模板头部注释没有用*/闭合,WordPress完全识别不到这是一个自定义模板,自然is_page_template()会返回false。

把page-landing-page.php的头部改成这样:

<?php
/**
 * Template Name: Landing Page
 * The template for displaying the content for the landing pages.
 */
?>
<?php wp_head(); ?>
// 你的内容加载逻辑
<?php wp_footer(); ?>

2. 确保is_page_template的参数正确

这个函数的参数必须是模板文件的相对路径+文件名:

  • 如果模板直接放在主题/子主题的根目录,就用'page-landing-page.php'
  • 如果模板在子文件夹里(比如templates/),就要写成'templates/page-landing-page.php'

3. 调整钩子的执行优先级

默认wp_enqueue_scripts的优先级是10,如果原主题的layout.css是在更高的优先级(比如15)加载,你的wp_dequeue_style会因为执行太早而失效。把优先级设为20,确保你的函数在原样式加载之后运行。

4. 确认模板文件的位置

要保证page-landing-page.php在**当前激活的主题(子主题)**的根目录下。如果用的是子主题,不要把模板放在父主题里,否则WordPress可能无法正确识别。

5. 调试确认检测状态

如果还是有问题,可以临时加调试代码确认is_page_template()的返回值:

  • 在page-landing-page.php里添加:var_dump(is_page_template('page-landing-page.php'));,刷新页面看是否输出bool(true)
  • 或者在scripts_and_css函数里添加:error_log('模板检测结果: ' . (is_page_template('page-landing-page.php') ? '成功' : '失败'));,然后去服务器的错误日志里看结果

这样一步步排查,应该就能解决问题了。

内容的提问来源于stack exchange,提问作者Mat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:46:44