Adding CSS & JS in WordPress in Functions.php
wp_enqueue_style WordPress
In the HTML it’s easy to add assets, you can add your styles and JS like HTML
But in WordPress use the different way to adding CSS and JS, It’s not difficult.
In the custom Theme have functions.php file, this file runs everything for your website.
To adding CSS and JS file or Enqueue Style and Script follow the steps:
function addingCss(){ wp_enqueue_style('styleSheet',get_template_directory_uri().'/style.css',array(), filemtime(get_template_directory().'/style.css'), 'all'); } add_action('wp_enqueue_scripts', 'addingCss'); Note: wp_enqueue_scripts is compulsory. let's easy to understand
wp_enqueue_style( string $handle, string $src = '', string[] $deps = array(), string|bool|null $ver = false, string $media = 'all' )
first make your own function example : function abc(){ } Okay! inside the function abc(){ } Add the wp_enqueue_style(); let's see inside the function abc(){ wp_enqueue_style(); } Now it's easy to add paramaters fisrst add anything name but should be unique with other. inside the function abc(){ wp_enqueue_style('abcStyle',); } Second tell where is your file is located it's easy to add path by function just call get_template_directory_uri(), This path comes your theme folder. function abc(){ wp_enqueue_style('abcStyle',get_template_directory_uri().'/style.css'); } it's done. but complete the all details. Third Depandancy if your stylefile have any dependancy you should apply. wp_enqueue_style('abcStyle',get_template_directory_uri(),get_template_directory_uri().'/style.css','jquery'); Note. if you added the dependancy jquery then you don't need to add additionally next one. in this case not have any dependancy so let leave empty. function abc(){ wp_enqueue_style('abcStyle',get_template_directory_uri(),get_template_directory_uri().'/style.css',[],); } Fourth file version there is two option you can add manually version or dynamacally I'm using both note:- it's the good way, if you change any changes on abcStyle file then WordPress automatically refresh the css file. there is used filemtime() function, it's return the unique number if any changes so you need to provide the file name inside function. or wp_enqueue_style('abcStyle',get_template_directory_uri().'/style.css',[], 1.0,); } note:- you need to hard Refresh to update changes (ctl+U abcStyle click and open and refresh). Fifth Media Add all it's for all Devices, mobile, Laptop etc. Really it's easywp_enqueue_style( $handle, $src, $deps, $ver, $media
);
wp_enqueue_style( 'just unique title', 'file location', 'if dependancy (jquery) or empty []', 1.0, all
);
In Short. 1. Title or handaler name anything unique. 2. path of stylesheet get_template_directory_uri().'/style.css'. 3. dependancy if no [] or example ('jquery'). 4. version. 1.0 anyting, or filemtime(get_template_directory().'/style.css'). 5. media all. In last. function abc(){ wp_enqueue_style('abcStyle',get_template_directory_uri().'/style.css',[], filemtime(get_template_directory().'/style.css'), all); } add_action('wp_enqueue_scripts', 'abc');
the reference style flow the WordPress Developer
Now including JS File
Everything is the same but in the last parameter Boolean true or false
if you do true then this script displays or include in the footer or false then display or include in header.
function abc(){ wp_enqueue_script('customJs',get_template_directory_uri().'/custom.js',['jquery'], filemtime(get_template_directory().'/custom.js'), ture); } Depandancy example bootstrap file have jquery dependancy file then add the jquery on this field for js. inside asset get_template_directory_uri().'/assets/custom.js' It's done. the reference script flow the WordPress Developer
you may interested in
WordPress | how to display page content in a custom page
What is wp_register_style and wp_register_script ? Why need to used insted of wp_enqueue_style and script?
Yes, there is no more reason and not much more diffirent.
it’s easy to use and benefit to develop advance theme
if you have a different template and different CSS then you need to apply your CSS not default or another CSS. if your template exits on visitor click then apply your css
let’s see example:
your additional template product.php
you have product.css
and you need to apply the product.css while click on the product page.
then it’s the good option to use wp_register_style
let’s see how.
<?php
wp_register_style('product-css',get_template_directory_uri().'/assets/product.css',
filemtime(get_template_directory().'/assets/product.css'),'all');
wp_register_script('custom-js',get_template_directory_uri().'/assets/custom.js',
[], filemtime(get_template_directory().'/assets/custom.js'), true);
if (is_category('product')){
wp_enqueue_style('product-css');
}
?>