2011-01-30 4 views
3

Привет, ребята, заранее за вашу помощь. Я сделал свое исследование, и я немного в тупике с этим ...Wordpress Jquery Confliction with Plugin

Я создаю сайт Wordpress для клиента, и у него будет электронный магазин. Я использую wp-ecommerce. Все магазинных страницы загружаются с яваскрипта ошибки:

http://www.thecollectiveclothingco.com/products-page/t-shirts/

jQuery("form.product_form").livequery is not a function 
[Break On This Error] jQuery("form.product_form").livequery(function(){ 

После некоторого обширного Google возраста, я считаю, я диагностировал проблему как конфликт сценария. Другими словами, WP или сам плагин обслуживает jquery, и я также включаю его для некоторых других вещей на сайте. Когда я удаляю вызов сценария jquery, проблема исчезает, и магазин работает нормально. Но мне нужно, что JQuery ...

Я читал об использовании WP enqeue, чтобы решить проблему:

function my_init_method() { 
    if (!is_admin()) { 
     wp_deregister_script('jquery'); 
     wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'); 
     wp_enqueue_script('jquery'); 
    } 
}  
add_action('init', 'my_init_method');php wp_head(); 

Я считаю, что я сделал это право, но не кажется, не фиксируя ничего.

Любые идеи? Еще раз спасибо.

ответ

2

Вы могли бы попытаться выполнить свой JQuery с опцией noConflict http://api.jquery.com/jQuery.noConflict/

например,

var j = jQuery.noConflict(); 
// Do something with jQuery 
j("div p").hide(); 
// Do something with another library's $() 
$("content").style.display = 'none'; 
+0

Michal, Благодарим вас за быстрый ответ. Я сделал это, и я все равно получаю такую ​​же ошибку. :( – Redlist

+0

Я посмотрел на ваш сайт - кажется, проблема в том, что вы используете плагин электронной коммерции. Библиотека опирается на плагин с именем livequery, который с момента его появления стал частью основной версии jQuery - в jquery 1.4.4, который вы используя .live метод имеет ту же функциональность, что и livequery, или попробуйте включить плагин livequery, или обновите плагин электронной коммерции до последней версии. Последнее средство просто выполняет поиск и заменяет все .livequery на .live в вашем источнике плагина - другой синтаксис то же самое, и вам может быть хорошо. – Michal

2

Хорошо, я понял это ... это был Епдиеий скрипт, который умеет решать проблемы. I wp (голова); должен был пройти до регистрации и регистрации. Я, должно быть, неправильно прочитал документацию. Вот что я добавил в свой заголовок:

<?php 
wp_head(); 
wp_deregister_script('jquery'); 
wp_enqueue_script('jquery', MYURL .'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', FALSE, '1.4.4'); 
?>