Jquery在Wordpress中不起作用;函数php


Jquery not working in Wordpress; function php

我正试图将我的脚本添加到我的wordpress函数.php文件中。

到目前为止,我有这个:

<?php
function add_google_jquery() {
   if ( !is_admin() ) {
    wp_deregister_script('jquery');
    wp_register_script('jquery',   ("https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"), false);
    wp_enqueue_script('jquery');
  }
}
add_action('wp_enqueue_script', 'add_google_jquery');
function menu_bar(){
?>
<script type="text/javascript">
    $(document).ready(function() {
        var navbar = $(".navbar");
        $(window).scroll(function(){
            if(navbar.scrollTop() == 0){
              navbar.css("background", rgba(0,0,0,0));
            }
            else 
            {
              navbar.css("background", rgba(255,255,255,0));
            }
        });
    });
</script>
<?php
}
add_action( 'wp_footer', 'menu_bar');
?>

我已经尝试过使用jQuery而不是$,并声明$=jQuery。

根据开发人员参考,当您将add_google_query()入队时,应该向json2添加一个依赖项。我认为如果您将wp_register_script()按这样的方式排队(在取消注册jQuery的核心版本之后),则不需要运行它:

wp_enqueue_script('jquery',"https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js", array("json2"));

我同意上面@Random的观点,即如果你想让脚本在每个模板中运行,你应该把js放在一个单独的文件中,并通过get_header钩子上的add_action通过wp_enque_script()调用它,然后把true放在页脚中加载:

function add_my_menu_bar() { wp_enqueue_script('my_menu_bar',"path-to-the-js-file.js", array("jquery"), false, true); } add_action('get_header','add_my_menu_bar');

jQuery和WordPress的良好编码实践是不使用$来标识jQuery对象。建议你习惯它。我通常用$编写依赖jQuery的脚本,然后用jQuery查找/替换所有脚本。

最后一点,我强烈建议您不要编辑wp-includs中的corefunctions.php文件。该文件可能会在未来的WordPress版本更改中被覆盖。大多数(如果不是全部的话)主题都有一个functions.php文件,该文件将在主题运行时包含。这是放置函数和动作挂钩的更好地方。