Не подключаются стили для домашней amp-страницы в functions.php
add_action( 'wp_enqueue_scripts', function () {
if ( function_exists('is_amp_endpoint') && is_amp_endpoint() ) {
if (is_front_page()) {
$css_to_off =
[
'amp-default',
'font-awesome-4-7',
'main-styles-inline',
'responsive',
'js_composer_front',
'js_composer.min',
'wp-custom',
'related-post',
'font-awesome-5',
'main-styles',
'magnific',
'parent-style'
];
foreach ($css_to_off as $item) {
wp_dequeue_style($item);
wp_deregister_style($item);
}
//проверка адреса
echo get_stylesheet_directory_uri() . '/assets/css/amp/home.min.css';
wp_enqueue_style('home-amp', get_stylesheet_directory_uri() . '/assets/css/amp/home.css');
}
}
}, 1000 );
Этот код я использую, чтобы проверить, является ли страница домашней и amp ли она, отключаю все стили по id и подключаю стили соответствующей страницы. Но они не подключаются. То есть, условие правильное, стили из массива удаляются, адрес указан правильный, и он выводится. Если добавить условие else (что страница не amp) и добавить вышеуказанную строку wp_enqueue_style('home-amp', get_stylesheet_directory_uri() . '/assets/css/amp/home.css');, то стиль добавится. Че за дела? В чем может быть причина? Куда копнуть? Спасибо за любую помощь!
Может они подключаются, но почему-то не выводятся (например, .test не найден)
Ответы (1 шт):
Моя ошибка была в том, что я использовал несуществующий селектор .test, предполагая, что он выведется. А amp автоматически, если такого селектора нет, удаляет неиспользуемые стили. Поэтому я не видел стили для .test.