Я создаю тему wp, используя Redux Framework, WP-Less для компиляции стилей в LESS. Работаю в PhpStorm.
Теперь я хочу динамически изменить некоторые цвета из Redux и передать их в мой основной файл style.less, который будет скомпилирован в style.css.
Проблема в том, что когда я хочу загрузить свой CSS, мне нужно сделать это с помощью
wp_enqueue_style('my-style', get_stylesheet_uri());
но он загружает только CSS, а не мой файл меньше. В моем файле functions.php я определил мои переменные.
add_filter('less_vars', 'my_less_vars', 10, 2);
функция my_less_vars ($ vars, $ handle)
{
Redux::init('redux_qmakeup');
global $redux_qmakeup;
if (isset($redux_qmakeup['opt-typography']['font-family'])) {
$font_name = $redux_qmakeup['opt-typography']['font-family'];
} else {
$font_name = 'Montserrat';
}
if (isset($redux_qmakeup['opt-typography']['color'])) {
$font_color = $redux_qmakeup['opt-typography']['color'];
} else {
$font_color = '#d6451e';
}
if (isset($redux_qmakeup['opt-color-footer'])) {
$footer_color = $redux_qmakeup['opt-color-footer'];
} else {
$footer_color = '#414243';
}
// $handle is a reference to the handle used with wp_enqueue_style()
$vars["font-family"] = "'$font_name'";
$vars["font-color"] = "$font_color";
$vars["footer-color"] = "$footer_color";
return $vars; }
В документации WP-LESS говорится, что теперь я могу использовать @ footer-color в моем файле .less, и PhpStorm скомпилирует его автоматически. Но это не так, компиляция не работает, потому что мой @ footer-color не определен. И если я определю его как пустую переменную, она не возьмет мой излишний цвет, но сохранит эту пустую переменную.
Вы используете фильтр WordPress add_filter (‘less_vars’, ‘my_less_vars’, 10, 2); добавить ваши меньше переменных.
Я использую NetBeans, и я уверен, что то же самое в PhpStorm. Компилятор Netbeans не может использовать фильтры WP, просто так. Вы не можете использовать компилятор PhpStorm для компиляции, если все переменные не записаны в файлах поменьше.
Одним из решений является компиляция файла с использованием WP-LESS, только если у вас есть изменения в меньшем количестве файлов или переменных (которые будут изменены после изменения какого-либо параметра темы, связанного с ним).
Надеюсь это поможет 🙂
Других решений пока нет …