将jquery添加到wordpress站点

时间:2016-08-23 23:01:33

标签: jquery wordpress

我对使用jquery很新,所以如果这是非常基本的东西,我很抱歉。

我一直在jsfiddle上玩,并得到一些jquery来做我想要的东西(当你将鼠标悬停在一个孩子上时向父级添加一个类),但当我拿到代码并尝试将其添加到我的wordpress网站时,它只是行不通。

这是我要添加的代码:

$('.explore > .country').hover(function() {
$(this).parent().toggleClass('hover');
})

我知道wordpress不喜欢$ for function,我试过这个:

<script type="text/javascript">
(function($) {
$('.explore > .country').hover(function() {
$(this).parent().toggleClass('hover');
})
})(jQuery);
</script>

这里还有jsfiddle

的链接

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

请务必先将jQuery排入队列。它内置于wordpress,但没有预先激活。

在你的主题的function.php文件中搜索“wp_enqueue”,如果有一个函数已经在那里排队脚本添加以下行...

wp_enqueue_script( 'jquery' );

否则,创建自己的enqueue脚本函数..

// function to enabled (enqueue) scripts in wordpress
function enqueue_scripts() {
    wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts','enqueue_scripts');

<强>更新

<强>替代地

您可以使用自定义代码创建一个js文件,并将其排队以便在网站范围内使用。

  1. 创建名为mycustomfunctions.js

  2. 的文件
  3. 把它放进去..

    // describe function here
    jQuery(function() {
        jQuery('.explore > .country').hover(function() {
            jQuery(this).parent().toggleClass('hover');
        })
        jQuery('.explore > .community').hover(function() {
            jQuery(this).parent().toggleClass('hover2');
        })
    });
    
  4. 在您的子主题根文件夹中创建一个新文件夹,将其命名为'js'

  5. mycustomfunctions.js放入js文件夹

  6. 编辑您的子主题functions.php以包含..

    // function to enable (enqueue) scripts in wordpress
    function enqueue_scripts() {
        wp_enqueue_script('mycustomfunctions', get_stylesheet_directory_uri() . '/js/mycustomfunctions.js', array('jquery') );
    }
    add_action('wp_enqueue_scripts','enqueue_scripts');
    
  7. note - 不需要单独排队jquery,因为我们已经将它列为mycustomfunctions的依赖项(请参阅数组),由于这种必需的依赖性,wordpress会自动将jquery排队。

答案 1 :(得分:1)

试试这个答案:https://stackoverflow.com/a/21949790/4426282

使用$将返回undefined,请尝试使用jQuery。

答案 2 :(得分:0)

如果我理解你的问题,那么你需要做的就是:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

在两个<head>代码

之间

答案 3 :(得分:0)

function myCustomScript() { ?>
<script type="text/javascript">
jQuery( document ).ready(function() {
    jQuery('.explore > .country').hover(function() {
        jQuery(this).parent().toggleClass('hover');
    })
});
</script>
<?php
}
add_action( 'wp_footer', 'myCustomScript' );

请在functions.php添加上述代码吗?