san_jorich
@san_jorich
Творческий кодер

Массовая регистрация стилей и скриптов Wordpress Как?

В теме предполагается достаточно большое количество файлов css и js.
Чтобы не разводить многостроковые wp_register_ решил попробовать написать функцию, сканирующую директорию и циклом подключающая все файлы в директории
function eventsystem_css_includer(){
	$css_files = glob(get_template_directory_uri() .'/css/*.css');
	foreach ($css_files as $file) { wp_register_style('{$file}', get_template_directory_uri().'/css/'.$file, false);	wp_enqueue_style('{$file}'); }
}
add_action( 'wp_head', 'eventsystem_css_includer' );

Не работает..
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ответы на вопрос 1
develx
@develx
Web developer
1. Стили регистрировать и добавлять нужно в wp_enqueue_scripts а не в wp_head
https://wp-kama.ru/function/wp_enqueue_style
https://wp-kama.ru/function/wp_register_style
2. в wp_register_style() третий параметр $deps(массив) - у вас false
3. Если все равно не работает, то нужен дебаг кода. Смотрите, что выводит var_dump($css_files)
4. Интерполяция работает только со строками в двойных кавычках. В одинарных - {$file} воспринимается как строка без интерпретации переменной. В итоге вы регистрируете один и тот же стиль.
5. Зачем и wp_register_style и wp_enqueue_style?
Достаточно внутри итерации цикла
wp_enqueue_style($file, get_template_directory_uri() . '/css/' . $file);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы