在unctions.php中以正确的方式检查javascrip文件

时间:2014-01-01 作者:user44529

我正在尝试将html转换为wordpress。html中的代码是:

<script src="js/jquery.nicescroll.min.js"></script>
<script src="js/jquery.js"></script> ( jQuery v1.7.2 )
和内联脚本

$(document).ready(

  function() { 

    $("html").niceScroll();

  }

); and much more.
在wordpress函数中。php,我添加了这个

if ( ! function_exists( \'your_enqueue\' ) ) :
    function your_enqueue(){
wp_enqueue_script(\' name \', get_template_directory_uri(). \'/script.js\' , array(\'jquery\')), \'1.0\', false);
}
endif;
add_action(\'wp_enqueue_scripts\', \'your_enqueue\');
我创建了一个新的。名为script的js文件。js并在其中添加了以下代码:

<script src="js/jquery.nicescroll.min.js"></script>
$(document).ready(

  function() { 

    $("html").niceScroll();
  }

); 
这样做对吗?这样行吗?Wordpress默认使用jQuery v1。7.2或必须在功能中重新进行一些编码。php

2 个回复
SO网友:Wyck

几个指针。

最新的WordPress版本使用jQuery v1。10.2,管理区域始终使用捆绑版本,对于前端,您可以使用捆绑版本或CDN如果使用CDN,请确保仍使用jquery 作为$handle 因此,它不会从其他插件/主题中多次加载,这些插件/主题也会将jQuery排入队列。

不要对脚本使用冲突包装,这里有几种方法可以阅读:http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_Wrappers<这很重要对代码使用更好的命名,使用nameyour_enqueue 很糟糕,试着保持一致性和独特性script src= 在您的中。js文件,这就是enqueue正在做的

SO网友:s_ha_dum

除了@Wyck的回答之外。。。

原则上,你所做的大部分是正确的。你写的代码让我觉得有点奇怪。此代码。。。

if ( ! function_exists( \'your_enqueue\' ) ) :
    function your_enqueue(){
      wp_enqueue_script(\' name \', get_template_directory_uri(). \'/script.js\' , array(\'jquery\')), \'1.0\', false);
    }
endif;
add_action(\'wp_enqueue_scripts\', \'your_enqueue\');
。。。仅当不存在同名函数时才定义函数,但无论如何都要挂接该函数的名称,这意味着子主题可以将其他脚本排入队列。事实上,一些子主题或插件可以定义your_enqueue 在脚本旁边排队,比如样式表,事情就不会正常工作。我会把整件事都写在条件中。。。

if ( ! function_exists( \'your_enqueue\' ) ) :
    function your_enqueue(){
      wp_enqueue_script(\' name \', get_template_directory_uri(). \'/script.js\' , array(\'jquery\')), \'1.0\', false);
    }
    add_action(\'wp_enqueue_scripts\', \'your_enqueue\');
endif;
或者完全取消条件。。。

function your_enqueue(){
  wp_enqueue_script(\' name \', get_template_directory_uri(). \'/script.js\' , array(\'jquery\')), \'1.0\', false);
}
add_action(\'wp_enqueue_scripts\', \'your_enqueue\');
或者如果你的PHP足够新的话,还有什么更难打破的呢。。。

add_action(
  \'wp_enqueue_scripts\', 
  function() {
    wp_enqueue_script(\' name \', get_template_directory_uri(). \'/script.js\' , array(\'jquery\')), \'1.0\', false);
  }
);
此外,您不需要<script 外部Javascript文件中的一部分。我想你会从中得到Javascript错误。

结束

相关推荐

插入jQuery天气代码后,我的响应菜单丢失

存在问题的站点-http://rheareview.com我有一个基于wordpress(多站点)的社区新闻网站。任务是放置一个包含当前温度的天气提要,包括“天气状况良好”图标。我想我找到了zweatherfeed的解决方案http://www.zazar.net/developers/jquery/zweatherfeed/. 我在插入jquery天气后发现。。。我的菜单在到达第一个响应断点(浏览器宽度768px)时不会显示。我知道是weatherfeed给我带来了问题。当我从标题中删除提要时。php