Ars Longa, Vita Brevis

Решение, позволяющее совместно использовать на одном сайте плагин WP Codebox и известную библиотеку Prototype

Намедни пришлось заставлять работать скрипт, использующий библиотеку Prototype, на сайте с WordPress, где стоял плагин WP CodeBox (ранее я уже писал о нём). Сразу обратил внимание, что всё работало как-то криво, выскакивала куча непонятных ошибок. Лишь позже, просмотрев весь JavaScript, я понял, в чём была проблема.

В файле /wp-content/plugins/wp-codebox/js/codebox.js есть три магические строчки:

[-]
View Code Javascript
function $(id) {
    return document.getElementById(id);
}

Эта функция конфликтует с одноимённой функцией из Prototype (причём последняя имеет гораздо больше возможностей). Решается всё просто:

[-]
View Code Javascript
if ('undefined' == typeof $) {
    function $(id) {
        return document.getElementById(id);
    }
}

Жаль только, что на поиски бага ушло много времени…