Подключить файлы вниз в functions.php в WordPress
Вот код в functions.php
add_action( 'wp_enqueue_scripts', 'win_scripts' );
function win_scripts() {
wp_enqueue_style( 'mainstyle', get_stylesheet_uri() );
wp_enqueue_style( 'site_style', get_template_directory_uri() . '/main.css' );
wp_enqueue_style( 'responsive', get_template_directory_uri() . '/responsive.css' );
wp_enqueue_style( 'fancybox', get_template_directory_uri() . '/vendors/css/jquery.fancybox.css' );
wp_enqueue_style( 'slick_css', get_template_directory_uri() . '/slick/slick.css' );
wp_deregister_script('jquery');
wp_enqueue_script( 'jquery', get_template_directory_uri() . '/vendors/js/jquery.js', array(), '1.0', true );
wp_enqueue_script( 'fancybox_js', get_template_directory_uri() . '/vendors/js/jquery.fancybox.js', array(), '1.0', true );
wp_enqueue_script( 'slick_js', get_template_directory_uri() . '/slick/slick.js', array(), '1.0', true );
wp_enqueue_script( 'mainscript', get_template_directory_uri() . '/js/scripts.js', array('jquery'), '1.0', true );
}
Нужно чтобы в head были подключены только style.css и main.css. Все остальные нужно подключить в footer сайта. Как это сделать?
JS файлы вот так
wp_enqueue_script( 'mainscript', get_template_directory_uri() . '/js/scripts.js', array('jquery'), null, true );
А как css файлы переместить тоже в футер?
Ответы (3 шт):
Автор решения: fortavey
→ Ссылка
У Wordpress нет дефолтного метода подключения стилей в футере. Можно прицепиться к хуку в футере и подключить туда. Но если только вы не делаете тему для themeforest, то смысл в этом не понятен. Подключите просто через html
Автор решения: Denis
→ Ссылка
А вот так вот стили
function prefix_add_footer_styles() {
wp_enqueue_style( 'site_style', get_template_directory_uri() . '/main.css' );
wp_enqueue_style( 'responsive', get_template_directory_uri() . '/responsive.css' );
wp_enqueue_style( 'fancybox', get_template_directory_uri() . '/vendors/css/jquery.fancybox.css' );
wp_enqueue_style( 'slick_css', get_template_directory_uri() . '/slick/slick.css' );
};
add_action( 'get_footer', 'prefix_add_footer_styles' );
Автор решения: eugene_vandar
→ Ссылка
Попробуйте вот так
И, сначала подключаются библиотеки, а потом уже файл стилей темы, иначе библиотеки будут перебивать ваши стили (если не указывать dependency)
/**
*
* wp_enqueue_style( $handle, $src, $deps, $ver, $media );
*
* wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
*
*/
add_action( 'wp_enqueue_scripts', 'win_scripts' );
function win_scripts() {
wp_enqueue_style( 'mainstyle', get_stylesheet_uri() );
wp_enqueue_style( 'fancybox', get_template_directory_uri() . '/vendors/css/jquery.fancybox.css', array(), false, 'all' );
wp_enqueue_style( 'slick_css', get_template_directory_uri() . '/slick/slick.css', array(), false, 'all' );
wp_enqueue_style( 'site_style', get_template_directory_uri() . '/main.css', array(), false, 'all' );
wp_enqueue_style( 'responsive', get_template_directory_uri() . '/responsive.css', array(), false, 'all' );
wp_deregister_script('jquery');
wp_enqueue_script( 'jquery', get_template_directory_uri() . '/vendors/js/jquery.js', array(), false, true );
wp_enqueue_script( 'fancybox_js', get_template_directory_uri() . '/vendors/js/jquery.fancybox.js', array(), false, true );
wp_enqueue_script( 'slick_js', get_template_directory_uri() . '/slick/slick.js', array(), false, true );
wp_enqueue_script( 'mainscript', get_template_directory_uri() . '/js/scripts.js', array(), false, true );
}