2011-11-17 52 views
2

我一直在为我的自定义(而不是一个插件)的WordPress的jQuery幻灯片。我一整天都在搜索如何在Wordpress中集成JavaScript,但似乎遇到了很多不同的方法。所以我的主要问题是哪种方式是编写脚本的正确,最快的方式。使用JQuery和Wordpress的正确方法?

从我看到它看起来像我应该使用Wordpress入队,以便该脚本只在需要的页面上调用,在我的情况下是index.php。但我不确定正确的做法。另外,我应该添加一些东西到我的functions.php?

下面是脚本:

<script src="Js/js/jquery-1.6.1.min.js" type="text/javascript"></script> 
<script src="Js/js/jquery.zaccordion.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
    $("#example4 ul").zAccordion({ 
     slideWidth: 600, 
     width: 900, 
     height: 250, 
     timeout: 5000, 
     slideClass: "frame" 
    }); 
    }); 
</script> 

而这正是我现在在我的header.php:

<?php wp_enqueue_script('jquery'); ?> 
<?php wp_head();?> 
<script type="text/javascript" 
     src="<?php bloginfo("template_url"); ?>/js/jquery-1.6.1.min.js"></script> 
<script type="text/javascript" 
     src="<?php bloginfo("template_url"); ?>/js/jquery.zaccordion.js"></script> 

<script type="text/javascript"> 
    jQuery.noConflict(); 
    jQuery(document).ready(function() { 
    jQuery("#slider ul").zAccordion({ 
     slideWidth: 600, 
     width: 800, 
     height: 250, 
     timeout: 5000, 
     slideClass: "frame" 
    }); 
    }); 
</script> 

回答

0

我的建议(和解决方案):

WordPress的插件开发 - 初学者指南 Packtlib press

这是ar最好的书,非常清晰,简单,并且有大量可用于jQuery的良好示例。

而且你有真正的东西写WordPress插件,当大家应该做的;)

0

如果你不想创建一个插件,然后第二个最好的解决办法是安装Headspace2插件,它允许你添加任何JS或CSS文件到Wordpress Admin Edit页面/邮件屏幕上的任何页面。

另外我会把你的内联JS变成一个外部JS文件(mycustom.js),然后像你做其他JS文件一样包含它,但这是我个人的偏好。

0

这里有一对夫妇的事情,我可以建议:

  1. 不包括你的.js,因为你已经入列其中
  2. 使用jquery.zaccordion.js wp_register_script然后排队像你注册与jquery
  3. 你不需要包括jQuery.noConflict();因为WordPress'jQuery已经声明。只有当你包含你自己的jQuery时,你需要
0

你可以在你的主题文件中包含jQuery并将其称为functions.php文件。在我的情况下,脚本在js文件夹(your_theme/js /)中。

在WordPress中加载脚本的正确方法是使用函数wp_enqueue_script

在functions.php的在你的主题类型:

/** 
* Load jQuery script 
*/ 
if (!is_admin()) { 
    function register_my_jquery() { 
     wp_deregister_script('jquery'); 
     wp_register_script('jquery', get_bloginfo('template_directory') . "/js/jquery.min.js"); 
     wp_enqueue_script('jquery'); 
    } 
    add_action('init', 'register_my_jquery'); 
}