2017-03-01 123 views
0

我创建了下面的脚本和我的WordPress他们中添加他们functions.php文件:为什么我的WordPress模板不能识别我的JQuery库和CSS文件?

add_action('wp_enqueue_scripts', 'scripts_styles'); 
function scripts_styles(){ 
    if(is_page_template('Disclosures.php')){ 
     wp_enqueue_script('jquery', get_template_directory_uri().'/js/jquery.validate.js', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_script('jquery', get_template_directory_uri().'/js/jquery.min.js', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_script('bootstrap', get_template_directory_uri().'/js/bootstrap.min.js', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_script('handlebars', get_template_directory_uri().'/js/handlebars.min.js', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_script('addrows', get_template_directory_uri().'/js/addrows.js', array(), GOVPRESS_VERSION, false); 
    } 
} 

function wpse_enqueue_page_template_styles() { 
    if (is_page_template('Disclosures.php')) { 
     wp_enqueue_style('bootstrapthemecss', get_template_directory_uri() . '/css/bootstrap-theme.min.css', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_style('bootstrapcss', get_template_directory_uri() . '/css/bootstrap.min.css', array(), GOVPRESS_VERSION, false); 
     wp_enqueue_style('maincss', get_template_directory_uri() . '/css/main.css', array(), GOVPRESS_VERSION, false); 
    } 
} 
add_action('wp_enqueue_scripts', 'wpse_enqueue_page_template_styles'); 

然而,它们不是由我的自定义模板的认可。

换句话说,我用这些脚本和样式表测试了我的页面,它们工作得很好。

我能够验证表单域并以指定的样式显示结果。

然而,他们没有验证相同的表单字段和页面没有风格。

我错过了什么?

只是一个参考,主题的名称是govpress。

感谢您的帮助提前。

回答

1
  1. 你似乎在排队两个脚本具有相同的名称:jquery。但是,jquery已在WordPress中出现,您可能会注意到wp_enqueue_script()描述为:不覆盖。这意味着无论何时您尝试使用与之前已排队的脚本同名的脚本排队......没有任何反应。

  2. 如果您对WP中嵌入的jquery现有版本不满意,您需要取消注册并注册新名称:jquery。名字非常重要,因为很多WP脚本都依赖于jquery。如果你更换它,他们将取决于你的版本,而不是所包含的版本。确保你排除jquery版本,而不管你的模板逻辑如何(如果你删除了默认的)。

  3. 您应该指定jquery作为取决于jquery的每个脚本的依赖项数组中的依赖项。

  4. 如果您的脚本和样式都未加载,则可能需要调试脚本,检查is_page_template('Disclosures.php')在您正在测试的页面中是否返回true。一个简单的die('this just happened...')将用于测试目的。

+0

首先,感谢您指出这个关于jQuery和wordpress的重要事实。 其次,我从我在这里发布的脚本中评论了jquery。再次测试,同样的问题。 然后我使用调试器,如果is_page_template('Disclosures.php')然后死(...),再次,页面没有任何事情发生。 – Kenny

+0

这意味着您正在测试的页面不使用“Disclosures.php”模板,这就是您的资源无法加载的原因。因为条件不成立。 –

+0

您对我正在测试的页面有什么意义,不使用披露模板? 我正在测试Disclosures.php模板中的表单字段。也许,这里有一个可教的时刻,因为我一直相信,一旦你把注释放在顶部命名你正在使用的模板上,并且你有if if_page()条件,它就会识别模板。我错过了什么吗? – Kenny

相关问题