PHP

Google Analytics for WordPress

История вопроса началась тут, когда свеже-написанный скрипт вдруг почему-то не заработал у читателей. Я потратил 2 часа пока перебрал скрипт на локальной машине. Честно говоря первых пол часа я потерял из-за своей собственной тупости, я забыл что flowplayer работает тока с сервера, сука. Все это время я отлаживал в фаербаге, в том числе и на сайте где скрипт и так работал, это была роковая ошибка. Потом я как-то начал дебажить в Opera через Dragonfly и о чудо, заметил строку которая меня повергла в полный ахуй.
Uncaught exception: TypeError: 'jQuery("#videoDialog").dialog' is not a function

Error thrown at line 3, column 1 in ($) in http://mabp.kiev.ua/content/examples/flowplayer.js:
    var player = $f("player", 
called from line 19, column 41125 in () in http://mabp.kiev.ua/wp-includes/js/jquery/jquery.js?ver=1.3.2:
    this.call(document,o)
called via Function.prototype.call() from line 12, column 15654 in (G, K, F) in http://mabp.kiev.ua/wp-includes/js/jquery/jquery.js?ver=1.3.2:
    for(var J=G[0];H() in http://mabp.kiev.ua/wp-includes/js/jquery/jquery.js?ver=1.3.2:
    o.each(o.readyList,function(){this.call(document,o)});
called from line 19, column 41621 in () in http://mabp.kiev.ua/wp-includes/js/jquery/jquery.js?ver=1.3.2:
    o.ready()

Сначала я воспользовался Бритвой Хэнлона и подумал что у меня не загрузился jQuery IU. Попробовал загрузить руками — не вышло. Перебрал все скрипты на сайте по очереди отключая все. Хуй!

Перечитал ошибку еще раз и понял что меня наебали: какой-то наглый, говнокодистый, плагин подключает на сайт jquery.js?ver=1.3.2 из админки. Я просто брызнул лучами поноса во все стороны от такой наглости. Еще буквально пол часа и гадкий, богомерзкий плагин Google Analytics for WordPress был вычислен.

Код был закомментирован а плагин публично обосран в блоге и наступило счастье.
//line 67
wp_enqueue_script('jquery');

// line 1280+
function track_comment_form_head() {
    if (is_singular()) {
        global $post;
        $yoast_ga_options = get_option('Yoast_Google_Analytics');
        if ( yoast_ga_do_tracking() && $yoast_ga_options["trackcommentform"] && ('open' == $post->comment_status) )
            wp_enqueue_script('jquery');    
    }
}
add_action('wp_print_scripts','track_comment_form_head');

Для тех кто не понял почему у меня работало в FF — я был залогинен под админом, а админу подключать этот скрипт не надо.

Авторы этой хуеты, если вы читаете этот наполненный гневом и ненавистью пост подумайте о следующем: не все на свете тупые обезьяны тыкающие карандашиком в клавиатуру, некоторые уже подключили себе jQuery, если уж сильно приспичило его использовать, побеспокойтесь что бы проверить может он уже есть, и если он слишком старый подгрузите новый аккуратно в замыкании используя noConflict чтобы не попортить людям сайт.
Теги:
Google Analytics, WordPress
Добавлено: 16 Сентября 2013 11:24:54 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...