Jquery in Child Theme

时间:2015-08-05 作者:Finerwhite

我是Wordpress新手,需要帮助将我自己的jquery集成到子主题中。

我有这个jquery工具提示,它可以工作,但我想将它包含到我的wordpress子主题中。

请查看以下内容的源代码:

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

<script src="js/jquery.balloon.js"></script>

    <script>
    $(document).ready(function() {
    $(\'.sample\').balloon({ position: "left" })  
    });
    </script>
如何将所有这些都放在子主题中,以便工具提示发挥作用?谢谢

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

首先,jquery很可能已经被主主题排队了。但如果没有,正确的方法是打电话wp_enqueue_script(\'jquery\') 在操作挂钩wp\\u enqueue\\u脚本的函数中。

示例:

function enqueue_jquery() {
   wp_enqueue_script(\'jquery\');
}

add_action(\'wp_enqueue_scripts\', \'enqueue_jquery\').
需要将此代码添加到functions.php 子主题的文件。

只能在中指定文件名wp_enqueue_script 如果您想加载不同于wordpress附带的jquery版本或主主题附带的jquery版本。然后,您需要确保首先卸载已加载的jquery的任何版本,并使用wp_deregister_script(\'jquery\'). 在加载新的jquery版本之前,如果不注销已加载的jquery版本,将导致冲突(定义了两次的相同jquery函数…)。

那么jquery.balloon.js 文件,相同备注,使用wp_enqueue_script (和行动hook wp_enqueue_scripts). 您还应该避免使用相对urljquery.balloon.js WordPress中的标准做法是使用以下代码:

wp_enqueue_script(\'jquery-balloon\', get_stylesheet_directory_uri().\'/js/jquery.balloon.js\', array(\'jquery\'), false, false);
Theget_stylesheet_directory_uri 函数将返回子主题目录的完整路径url。

EDIT (忘了包括气球效应的激活)

对于激活部件($(document).ready(...); WordPress做事情的最标准的方式(也是在主子主题关系方面破坏可能性最小的方式)是用它创建一个js文件,例如balloonactivate.js,并将该文件放在子主题的“js”文件夹中。

假设您的子主题是一个名为“主主题”的主题;然后您的子主题应该位于名为“Main theme child”(即,wp-content/themes/maintheme-child). 在下面的“js”文件夹中(该文件夹已经存在,或者您将创建该文件夹以放置“jquey.balloon.js”文件),放置“**strong text**气球激活。唯一要做的就是像jquery和jquery.balloon.js脚本一样将其排队。

因此,您可以使用的完整代码如下:

function enqueue_jquery_balloon() {
   wp_enqueue_script(\'jquery\');
   wp_enqueue_script(\'jquery-balloon\', get_stylesheet_directory_uri().\'/js/jquery.balloon.js\', array(\'jquery\'), false, false);
   wp_enqueue_script(\'activate-balloon\', get_stylesheet_directory_uri().\'/js/balloonactivate.js\', array(\'jquery-balloon\'), false, false);
}

add_action(\'wp_enqueue_scripts\', \'enqueue_jquery_balloon\').
应将此代码添加到functions.php 子主题目录中的文件。

要激活气球效果,请使用$(document).ready(...); 也可以在子主题页脚的末尾内联添加代码。php文件(如果子主题需要与主主题不同的页脚)。但如果主主题页脚足够,那么创建footer.php 在子主题中,仅针对气球脚本(因此上面的评论是关于balloonactivate.js 文件)。

在您的情况下,可能不需要排队jquery,但再次排队并不是问题。如果已经加载了jquery的一个版本,而您又加载了第二个版本,那么会出现问题。

希望这有帮助。

结束