Публикация в группе: Плагин WP-Recall - Личный кабинет на WordPress

Категории группы: Полезное

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

Рассмотрим как включить в свое дополнение поддержку минимизации стилевого файла.

Взглянем на обычное подключение стилевого файла справедливое не только для дополнений Wp-Recall, но и для любых плагинов WordPress:

if (!is_admin()) add_action('wp_enqueue_scripts', 'output_style_addon');
function output_style_addon(){
wp_enqueue_style( 'addon_style', plugins_url('style.css', __FILE__) );	
}

Данный код вполне нормально подключит в хедере страницы стилевой файл style.css из корневой папки дополнения, но нам же надо подключиться к функционалу минимизации, соответственно код надо дополнить.

Сначала проверим, с помощью глобальной переменной $options_rcl, включена ли вообще функция минимизации Wp-Recall и если включена, т.е. значение $rcl_options['minify_css'] равно 1, тогда отменяем подключение файла style.css:

if (!is_admin()) add_action('wp_enqueue_scripts', 'output_style_addon');
function output_style_addon(){
	global $rcl_options;	
	if($rcl_options['minify_css']==1) return;
	wp_enqueue_style( 'addon_style', plugins_url('style.css', __FILE__) );	
}

И если функционал минимизации включен, то будет работать другая функция которая и производит подключение к этому функционалу:

if (is_admin()) add_filter('csspath_array_rcl','minify_css_addon');
function minify_css_addon($array){
	global $rcl_options;	
	if($rcl_options['minify_css']!=1) return;
	$path = pathinfo(__FILE__);
	$array[] = $path['dirname'].'/style.css';
	return $array;
}

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

30

Автор публикации

не в сети 4 часа

Андрей CS

12K
рассматриваю задания
Комментарии: 2745Публикации: 481Регистрация: 30-11--0001Продаж/Покупок: 0/0