Почему вывод стилей происходит в подвал сайта? WP function.php
add_action('wp_head', 'add_favicon');
add_action('wp_head', 'facebook_open_graph' );
add_action('wp_head', 'add_theme_css_style');
add_action('wp_head', 'add_theme_google_fonts');
add_action( 'wp_enqueue_scripts', 'add_script_footer', 25 );
function add_theme_css_style() {
wp_enqueue_style ('bootstrap', get_template_directory_uri() . '/assets/css/bootstrap.min.css', array(), '1.0.0');
wp_enqueue_style ('slick-main', get_template_directory_uri() . '/assets/js/slick/slick.css', array(), '1.0.0');
wp_enqueue_style ('slick-theme-main', get_template_directory_uri() . '/assets/js/slick/slick-theme.css', array(), '1.0.0');
wp_enqueue_style ('aos-main', get_template_directory_uri() . '/assets/aos/aos.css', array(), '1.0.0');
wp_enqueue_style ('woocommerce', get_template_directory_uri() . '/assets/css/woocommerce.css', array(), '1.0.0');
wp_enqueue_style ('congrats-js-form', get_template_directory_uri() . '/congrats/congrats.css', array(), '1.0.0');
wp_enqueue_style ('main-theme-style', get_template_directory_uri() . '/assets/css/styles.css', array(), '1.0.0');
}
add_action('wp_head', 'add_theme_css_style'); эта строка отвечает за подключение стилей в хук wp_head
add_action( 'wp_enqueue_scripts', 'add_script_footer', 25 ); эта строка отвечает за подключение скриптов в футер(подвал)
Не нужно сбрасывать ссылки на документацию!!! Пожалуйста просто объясните почему при add_action('wp_head', "func_style") стили все равно выводит в подвале
Спасибо.
Ответы (1 шт):
Стили идут в футер, потому что вы используете неправильный хук.
Для запуска скриптов и стилей надо использовать хук wp_enqueue_scripts. На этом хуке WordPress ставит скрипты и стили в очередь. Хук wp_head исполняется позднее, смотрите порядок исполнения хуков в ядре.
На событии wp_head с приоритетом 8 (то есть раньше, чем исполняется ваша add_theme_css_style - она имеет приоритет 10 по умолчанию) ядро вызывает функцию wp_print_styles, которая и выводит стили из очереди на страницу. Любые стили, добавленные после этого, останутся в очереди и будут выведены ядром в футере.