Загрузка плагина только на определенной странице
У меня есть плагин, который я хочу использовать только на странице контактов, но его скрипты и 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()
.

Попробуйте этот КОД:
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/
