Подключить файлы вниз в 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 );
}
→ Ссылка