WordPress主题的基础JavaScript
我试图用基础框架从头开始创建一个主题,它在框中工作得很好,但是当我需要包含基础JavaScript脚本时,它看起来好像已经被加载了,但是没有任何工作,首先顶部条不起作用,我曾尝试注销预加载WordPress的jquery,并使用Google cdn中的jquery,正如我所读到的那样,这是顶栏和其他脚本正常工作的一种方法,但到目前为止没有任何效果 下面是我在functions.php中的代码WordPress主题的基础JavaScript,javascript,wordpress,zurb-foundation,Javascript,Wordpress,Zurb Foundation,我试图用基础框架从头开始创建一个主题,它在框中工作得很好,但是当我需要包含基础JavaScript脚本时,它看起来好像已经被加载了,但是没有任何工作,首先顶部条不起作用,我曾尝试注销预加载WordPress的jquery,并使用Google cdn中的jquery,正如我所读到的那样,这是顶栏和其他脚本正常工作的一种方法,但到目前为止没有任何效果 下面是我在functions.php中的代码 // Enqueue scripts essential for foundation framewo
// Enqueue scripts essential for foundation framework to act responsive
function responsive_scripts_basic()
{
//register scripts for our theme
wp_deregister_script('jquery');
wp_register_script('foundation-mod', get_template_directory_uri() . '/javascripts/vendor/custom.modernizer.js',
true );
wp_register_script('foundation-topbar', get_template_directory_uri() . '/javascripts/foundation/foundation.topbar.js',
true );
wp_register_script('foundation-main', get_template_directory_uri() . '/javascripts/foundation/foundation.js',
true );
wp_register_script('zepto', get_template_directory_uri() . '/javascripts/vendor/zepto.js',
true );
wp_register_script('jquery','http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js',
true );
//enqueue scripts for our theme
wp_enqueue_script( 'foundation-mod' );
wp_enqueue_script( 'foundation-topbar' );
wp_enqueue_script( 'foundation-main' );
wp_enqueue_script( 'zepto');
wp_enqueue_script( 'jquery');
}
add_action( 'wp_enqueue_scripts', 'responsive_scripts_basic' );
我对样式表使用了相同的方法,一点问题都没有,在这方面有经验吗?我原以为用这个框架构建主题会很容易,但公平地说,它变得相当复杂。js文件“排队”的顺序非常重要
首先,你要对“现代化”程序“排队”,然后jQuery/ZEPTO,然后创建.M.js,然后是TopBar扩展:
//enqueue scripts for our theme
wp_enqueue_script( 'foundation-mod' );
wp_enqueue_script( 'jquery');
wp_enqueue_script( 'foundation-main' );
wp_enqueue_script( 'foundation-topbar' );
请参阅,并记住脚本的顺序
也为了让基础的东西开始,你需要一个脚本元素最有可能在你的PHP产生的HTML的结尾:
<script type="text/javascript">
$(document).foundation();
</script>
$(document.foundation();
正如我所知,wordpress正在将jQuery推入noConflict模式,您可能需要这样编写
<script type="text/javascript">
jQuery(document).foundation();
</script>
jQuery(document.foundation();
编辑:Zepto没有noConflict函数,留下$jQuery或其他设置。为了保持简单,请选择jQuery并使用完全限定的
jQuery(document).foundation()
语法 js文件“排队”的顺序非常重要
首先,你要对“现代化”程序“排队”,然后jQuery/ZEPTO,然后创建.M.js,然后是TopBar扩展:
//enqueue scripts for our theme
wp_enqueue_script( 'foundation-mod' );
wp_enqueue_script( 'jquery');
wp_enqueue_script( 'foundation-main' );
wp_enqueue_script( 'foundation-topbar' );
请参阅,并记住脚本的顺序
也为了让基础的东西开始,你需要一个脚本元素最有可能在你的PHP产生的HTML的结尾:
<script type="text/javascript">
$(document).foundation();
</script>
$(document.foundation();
正如我所知,wordpress正在将jQuery推入noConflict模式,您可能需要这样编写
<script type="text/javascript">
jQuery(document).foundation();
</script>
jQuery(document.foundation();
编辑:Zepto没有noConflict函数,留下$jQuery或其他设置。为了保持简单,请选择jQuery并使用完全限定的
jQuery(document).foundation()
语法 你的客户机调试控制台怎么说?很可能是基金会的js文件。也就是说,你应该知道,他们在做相同/相似的事情。如果您不确定,请使用jQuery [01:10:42.619]引用错误:Fund未定义@您的客户端调试控制台在说什么?很可能是基金会的js文件。也就是说,你应该知道,他们在做相同/相似的事情。如果你不确定,使用jQuery [01:10:42.619]参考错误:基础没有定义。我按照你建议的顺序改变了,也包括了在正文标签$(文档)的结尾处的调用。这就是基金会说的文档,现在它工作,是在WordPress中添加代码的最好方法吗?在index.php中硬编码。。。万分感谢“这是最好的方式”——是的,我相信是这样。另外,欢迎来到stackoverflow!请接受答案,让我了解你的观点;)这是最好的答案,我如何给你我的分数?再次感谢。请看一看!我按照您的建议更改了顺序,并且在body标记$(document.foundation()的末尾包含了调用;这就是基金会说的文档,现在它工作,是在WordPress中添加代码的最好方法吗?在index.php中硬编码。。。万分感谢“这是最好的方式”——是的,我相信是这样。另外,欢迎来到stackoverflow!请接受答案,让我了解你的观点;)这是最好的答案,我如何给你我的分数?再次感谢。请看一看!