Просто примечание, вам не нужно wp_register_script
и wp_enqueue_script
, если только вы не намеренно ставите сценарии в очередь только при определенных условиях, в противном случае вы можете заменить
wp_register_style( 'bootstrap',get_stylesheet_directory_uri().'/css/bootstrap.min.css', false, false );
wp_enqueue_style( 'bootstrap' );
wp_register_style( 'fontawesome',get_stylesheet_directory_uri().'/css/font-awesome.min.css', false, false );
wp_enqueue_style( 'fontawesome' );
только с:
wp_enqueue_style( 'bootstrap',get_stylesheet_directory_uri().'/css/bootstrap.min.css', false, false );
wp_enqueue_style( 'fontawesome',get_stylesheet_directory_uri().'/css/font-awesome.min.css', false, false );
Кроме того, мое личное предпочтение заключается в том, что если мне нужно несколько раз вызывать функцию, я бы хотел определить ее как переменную, чтобы она не вызывалась постоянно, например:
$stylesheet_directory_uri = get_stylesheet_directory_uri();
wp_enqueue_style( 'bootstrap', $stylesheet_directory_uri.'/css/bootstrap.min.css', false, false );
wp_enqueue_style( 'fontawesome', $stylesheet_directory_uri.'/css/font-awesome.min.css', false, false );
Наконец, так как у вас так много всего, вы можете просто просмотреть их, чтобы сделать их немного проще:
function custom_styles(){
$uri = get_stylesheet_directory_uri();
$stylesheets = array(
array( 'bootstrap', '/css/bootstrap.min.css' ),
array( 'fontawesome', '/css/font-awesome.min.css' ),
// …
array( 'settings', '/vendors/rs-plugin/css/settings.css' )
);
foreach( $stylesheets as $stylesheet ){
wp_enqueue_style( $stylesheet[0], $uri.$stylesheet[1] );
}
}
Теперь к источнику вашей проблемы - у вас есть столько таблиц стилей . Для каждого из них ваш сайт должен сделать HTTP-запрос к запрошенному ресурсу и загрузить его. Поскольку вы уже внедрили CSS в свою тему (будьте осторожны с этим, это затрудняет адаптацию к будущим версиям библиотек), вы можете просто объединить их все в один минимизированный CSS-файл вручную или с помощью препроцессора.
Вы также можете посмотреть на такие плагины, как Autoptimize , которые будут комбинировать и кэшировать все ваши таблицы стилей для вас. Он извлекает все их содержимое и объединяет их в как можно меньше файлов .css
, обычно от 1 до 3, в зависимости от установленных плагинов.
Теперь вы также упоминаете блокировку рендера. «Супер идеальный» способ загрузки CSS состоит в том, чтобы загружать только тот CSS, который необходим для контента, который виден выше сгиба при загрузке страницы, и загружать остальное позже. На практике это сложнее, особенно для сайтов WordPress с таким количеством плагинов.
Я бы начал со взвешивания, действительно ли вам 1027 * нужны все эти библиотеки CSS, а затем скомбинировал и кэшировал их.