繁体   English   中英

使用Zurb Foundation与wordpress不会发生冲突

[英]using Zurb Foundation with wordpress no conflict

我目前正在使用Foundation和_s开发自定义主题,我有几个问题。我已按照本教程进行操作, 这里列出了所有脚本等内容,现在可以工作了。

我唯一关心的是jquery,在某些论坛上说我必须注销jquery,然后再注册另一个,依此类推。在一些论坛上,它说我必须使用非冲突模式,而其他论坛则告诉我只是为了入队,这就是它。 在这种情况下,什么是正确的做法? 我不是在寻找一个临时的解决方案,我希望这个主题可以更新而不会出现问题或将来会中断。

在使用非冲突方法的情况下。 我创建了一个名为Foundation.js的文件,并使用以下代码将其加入到functions.php文件中:

jQuery.noConflict();
jQuery(document).ready(function($) {
    $(document).foundation();
});

这是正确的方法吗?

WordPress随附的jQuery库设置为noConflict()模式。 noConflict()模式下,jQuery的全局$快捷方式不可用。 因此,在foundation.js您可以使用:

jQuery(document).ready(function ($) {
    jQuery(document).foundation();
});

从食典中检查此链接

文档是粗略的,但这应该是正确的方法,至少对我有用:

在functions.php中:

function my_enqueue_foundation() {
    wp_register_script('foundation', get_template_directory_uri() . '/js/foundation.min.js','','1.1', true);
    wp_enqueue_script('foundation');
}
add_action( 'wp_enqueue_scripts', 'my_enqueue_foundation' );

然后在footer.php中初始化基础

<?php wp_footer(); ?>


<script> jQuery(document).foundation(); </script>

如果您遵循链接到( github )的教程,那么一切都准备就绪 在主题的functions.php文件基础中,加入了JS和初始化脚本:

function awesome_theme_scripts(){
    // scripts here ...
    wp_enqueue_script( 'foundation-js', get_template_directory_uri() . '/foundation/js/foundation.min.js', array( 'jquery' ), '1', true );
    wp_enqueue_script( 'foundation-init-js', get_template_directory_uri() . '/foundation.js', array( 'jquery' ), '1', true );
    // more scripts...
}

后者包含noConflict代码并初始化Foundation:

jQuery(document).ready(function($) {
    $(document).foundation();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM