2010-09-01 2 views
0

Есть ли способ остановить Wordpress от автоматической вставки скриптов в мою тему из wp-includes/js? Это досадно, что я могу использовать/выбирать, чтобы добавить свои собственные.Остановить Wordpress от автоматического вставки скриптов

Спасибо!


На самом деле это не включая JQuery, но scriptaculous.js и effects.js и по какой-то причине они мешая JQuery. Было бы так же справедливо:

add_action('wp_print_scripts', 'my_deregister_javascript', 100); 

function my_deregister_javascript() { 
    wp_deregister_script('scriptaculous'); 
    wp_deregister_script('effects'); 
} 

Спасибо!

ответ

3

Большинство сценариев (то есть jQuery) находятся в очереди с плагинами, которые зависят от них. Поскольку jQuery поставляется с WordPress, он действительно упрощает распространение скудного, легкого подключаемого модуля и просто вызывает сценарий от wp-includes/js, используя wp_enqueue_script('jquery'). На самом деле, это рекомендуемый способ включения сценариев на ваш сайт (не уверен, как вы используете/выбираете свой собственный, но это второстепенный момент).

Чтобы удалить скрипты по умолчанию, вы можете использовать аналогичный вызов: wp_deregister_script('jquery');. Это приведет к удалению сценария с именем «jquery» из очереди, и он не будет включен. Вот полный код, который вы хотите поместить в файл functions.php:

add_action('wp_print_scripts', 'my_deregister_javascript', 100); 

function my_deregister_javascript() { 
    wp_deregister_script('jquery'); 
} 

Имейте в виду, однако, что некоторые плагины, возможно, все еще зависит от этого сценария. Когда вы регистрируете скрипт, вы обычно добавляете какие-либо зависимости прямо в регистрацию ... так что если скрипт зависит от jQuery, и вы удалили его вот так ... тогда вы закончите разрыв плагина, потому что другие скрипты (даже если вы вручную добавили jQuery через тег <script></script> на сайт.

Чтобы избежать этого, вам нужно использовать механизм регистрации/размещения в WordPress, чтобы повторно добавить свою версию из JQuery:

add_action('wp_print_scripts', 'my_deregister_javascript', 100); 

function my_deregister_javascript() { 
    wp_deregister_script('jquery'); 
    wp_enqueue_script('jquery', PATH_TO_YOUR_JQUERY_VERSION, '', '1.4.2'); 
} 

Это будет повторно добавить JQuery (я предполагаю, что вы используете версию 1.4.2, но заменить номер версии там с тем, что вы используете) и очередь его обратно в систему. Тогда любые зависимости должны быть выполнены и все должно работать должным образом.

+0

Прохладный. Да, мне просто понравилось, что я могу пойти с jQuery, размещенным в google. Но я полностью понимаю, как использовать прилагаемые скрипты в качестве рекомендации. Спасибо. – Marc

Смежные вопросы