我正试图将我的脚本添加到我的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文件,该文件将在主题运行时包含。这是放置函数和动作挂钩的更好地方。