flexbe banner 468x60flexbe banner 728x90flexbe banner 930x180jivo banner 468x60jivo banner 728x90jivo banner 930x180skillbox banner 468x60skillbox banner 728x90skillbox banner 930x180

Как убрать загрузку js- и css-файлов в Contact Form 7, если на странице нет формы

По умолчанию Contact Form 7 загружает свои js-скрипты и css-стили на все страницы. Вы можете решить, что это ненужная трата ресурсов и негативно скажется на скорости загрузки и будете совершенно правы.

К сожалению, у плагина есть техническая трудность в том, чтобы узнать, содержит ли страница контактную форму или нет до ее загрузки и сегодня мы рассмотрим два простых шага как это обойти.

Отменяем подключение стилей

Для начала мы отменим загрузку файлов cf7 на всех страницах с помощью этого кода.

function cf7_load() {
	add_filter( 'wpcf7_load_js', '__return_false' );
	add_filter( 'wpcf7_load_css', '__return_false' );
}
add_action( 'init', 'cf7_load' );

Подключаем на нужных страницах

Теперь вам нужно вернуть подключение только на необходимых вам страницах. Сделать это можно, например, с помощью условных тегой is_page(), is_front_page(), is_single() и т.д.

function cf7_enqueue_scripts() {
	if ( is_page( array( 'contact', 'contact-us', 'call', 'dealer' ) ) ) {
		if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
			wpcf7_enqueue_scripts();
		}
		 
		if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
			wpcf7_enqueue_styles();
		}
	}
}
add_action( 'wp_enqueue_scripts', 'cf7_enqueue_scripts', 100 );

Весь этот код нужно вставить в файл functions.php, но гораздо правильнее создать новый файл и подключить его с помощью require_once, напрмиер так:

if ( is_plugin_active( 'contact-form-7/wp-contact-form-7.php' )  ) {
	require_once get_stylesheet_directory() . '/includes/plugin-addons/contact-form-7.php';
}
jivo banner 480x320jivo banner 728x90jivo banner 120x600etxt banner 480x320etxt banner 728x90etxt banner 120x600skillbox banner 480x320skillbox banner 728x90skillbox banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 2

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Как сделать webp без плагинов в WordPress

WebP — это современный формат сжатия изображений без потери качества, который напрямую влияет на скорость загрузки сайта. Конвертирование изображений из jpg и png в формат webp может дать существенный прирост в баллах по google page speed. Формат webp поддерживается большинством современных браузеров. Вы без труда можете найти плагины, которые помогут вам автоматически конвертировать изображения, добавленные…
Подробнее

Как вывести все изображения из произвольной папки без плагинов в WordPress

При разработке своих сайтов вам может понадобиться вывести галереи изображений из произвольных папок без их загрузки в библиотеку. Давайте рассмотрим пример, как это сделать с помощью шорткода: Использование: [folder-gallery path=’/data/images/’] Как видите, функция принимает путь до искомой папки (обязательно с открывающим и закрывающим слешем), в функции устанавливаются разрешенные типы изображений и формируется вывод с классами…
Подробнее

Как изменить выравнивание и размер изображения при вставке в редактор WordPress

При добавлении изображения в пост, по умолчанию WordPress вставляет его в размере medium и без выравнивания. Чтобы при загрузке картинки ей прописывалось выравнивание по центру и полный размер, вы можете использовать такой код:
Подробнее