WP_ENQUEUE_SCRIPT无法识别我的js文件?

时间:2012-05-15 作者:Paul

我的wp\\u enqueue\\u脚本似乎不起作用,我不明白为什么:

我有一个儿童主题是210,这是我在函数中写的。php文件(在我的主题中):

<?php
function my_scripts_method() {
    wp_enqueue_script(
        \'patScript\',
        get_stylesheet_directory_uri() . \'/js/patScript.js\',
        array(\'jquery\')
    );
}
add_action(\'wp_enqueue_scripts\', \'my_scripts_method\');
?>
然后在我的标题中:

<script type="text/javascript" src="<?php get_stylesheet_directory_uri().\'/js/patScript.js\'; ?>"></script>
文件为:

$(function () {
    alert("hello");
});
但警报不起作用。路径正确,当我回显get\\u样式表时。。。它为我提供了文件所在的正确路径。你知道吗?

非常感谢

编辑:Firefox中的控制台告诉我:

$(function () {
“不是函数”:这是否意味着它不识别jquery?我补充道:

wp_enqueue_script("jquery");
在我之前的排队脚本上面,但同样的事情。。。

1 个回复
最合适的回答,由SO网友:Milo 整理而成

两件事-

当您将脚本排入队列时,WordPress会在调用中插入脚本标记wp_head(), 因此,第一步是从标题中删除脚本标记。

第二件事是WordPress提供的jQueryno conflict mode 默认情况下,因此您应该使用jQuery 而不是$:

jQuery(function () {
    alert("hello");
});

结束

相关推荐

在PHP脚本中调用的JavaScript函数太早

我正在开发一个谷歌地图插件。我的问题是初始化映射的函数,csf_map_maker_js(), 在定义div之前,调用得太早(至少我认为这是问题所在)。在PHP中,我有:$csf_map_output .= \'<div id=\"csf_map_canvas\" style=\"width:\'. $atts[\'width\'].\'px; height: \'. $atts[\'height\'] .\'px;\"></div>\'; $csf_map_o