关于wordpress运行网站的Jquery问题

时间:2011-12-18 21:36:24

标签: jquery wordpress

您好我的网站上有jquery问题。它工作正常,直到我创建了一个使用jquery的插件。我将脚本排队:

wp_enqueue_style("nstdt","***/wp-content/plugins/***/css/nstdt.css");
wp_enqueue_style("pagecss","***/wp-content/plugins/***/css/jPaginator.css");
wp_enqueue_script("nstdt","***/wp-content/plugins/***/js/nstdt.js",array("jquery"));
wp_enqueue_script("paginate","***/wp-content/plugins/***/js/jPaginator.js",array("jquery","jquery-ui-core","jquery-ui-slider"));

* 只是模糊了网站网址。

nstdt.js是我写的jquery,而jPaginator.js是我上传的脚本。

ndtdt以此开头:

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

和jPaginator.js的开头如下:

(function($) {
$.fn.jPaginator = function(o) {

主题本身有一个小脚本,在header.php

中运行称为roundabout
<?php  wp_enqueue_script( 'jquery' ); ?>
<script type="text/javascript">
var $j = jQuery.noConflict();

   $j(document).ready(function() {
                var interval;

这些是我得到的错误:

jQuery is not defined
Line 7

    You must use this plugin with a unique element
   ***/wp-includes/js/jquery/jquery.js?ver=1.7.1
    Line 2

独特元素看起来可能是jPaginator的错误,因为这是代码中的第一行:

if (this.size() != 1)
    $.error( 'You must use this plugin with a unique element' );

所以我想知道是否有人有任何想法。是的,我确实通过firebug检查了网站,jquery正在加载,并且是第一个加载的东西。没有404错误。

2 个答案:

答案 0 :(得分:3)

确保用于初始化插件的jQuery选择器只包含一个元素

例如:

// where #test1 is unique in your page
$("#test1").jPaginator({ <your paramaters>});



// or for a list ( ie : $(".myclass").length > 1 )
$(".myclass").each(function() {
    $(this).jPaginator({ <your paramaters>});
});

答案 1 :(得分:2)

尝试取出<?php wp_enqueue_script( 'jquery' ); ?>。 Wordpress默认加载了jQuery,你甚至不需要调用jQuery.noConflict()

直接进入jQuery(document).ready(function($){...