Загрузка плагина только на определенной странице
У меня есть плагин, который я хочу использовать только на странице контактов, но его скрипты и CSS загружаются на всех страницах. Помимо увеличения количества HTTP-запросов, это также вызывает проблемы с работой другого скрипта на другой странице.
Есть ли способ предотвратить загрузку этого плагина на всех остальных страницах сайта?
Я знаю, как это сделать с обычными скриптами в шапке сайта, но не уверен, как быть с плагином, который автоматически добавляет скрипты в заголовок.
Заранее спасибо.
Я разобрался.
Хорошее объяснение можно найти здесь.
Вы редактируете файл wp.config, добавляя скрипты, которые не должны загружаться автоматически...
define('WPCF7_LOAD_JS', false);
...а затем вручную подключаете их на тех страницах, где скрипт действительно нужен.
Чтобы завершить ответ (как указано в ссылке выше), также сделайте следующее: 1) Чтобы CSS не загружался везде, добавьте эту строку в ваш wp-config.php: define('WPCF7_LOAD_JS', false);
2) Для подключения CSS и JS:
Отредактируйте файл шаблона contact.php, вставив:
`<?php if ( function_exists( 'wpcf7_enqueue_scripts' ) ) { wpcf7_enqueue_scripts(); }
if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
wpcf7_enqueue_styles();
}
?>`
Примечание: wpcf7_enqueue_scripts() и wpcf7_enqueue_styles() должны вызываться до вызова wp_head().
SherylHohman
Попробуйте этот КОД:
if ( ! is_page('НАЗВАНИЕ СТРАНИЦЫ, ГДЕ ДОЛЖЕН РАБОТАТЬ CF7') ) {
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
}
Источник: С официальной страницы CF7.
Этот блог дает некоторое представление о том, почему приведенное выше решение может работать: https://indigotree.co.uk/passing-arguments-wordpress-actions-filters/
SherylHohman