To get this working:
(1) Your index.php
file should begin with:
<?php get_header(); ?>
and end with:
<?php get_footer(); ?>
(2) Your header.php
file should have the following right before the closing </head>
tag:
<?php wp_head(); ?>
Note: header.php
also has other things, but I am assuming you have them set up already.
(3) Your footer.php
file should have the following right before the closing </body>
tag:
<?php wp_footer(); ?>
(4) In your functions.php
, modify your the second line of your wp_enqueue_style so that it looks like this:
wp_enqueue_style( 'style', get_stylesheet_uri() );
The whole function in the end should look like this:
function mortal_theme() {
wp_enqueue_style( 'style', get_template_directory_uri() );
}
add_action( 'wp_enqueue_scripts', 'mortal_theme' );
This is because the style.css
in your theme folder is the main stylesheet for the theme – so you don’t need to tell WordPress to look for style.css
, it will know what to look for.
Update:
I have recreated your theme using your code on a local WordPress installation to test it, and here is a screenshot of what I see when I visit the page:
The theme folder has the following files:
style.css
index.php
header.php
functions.php
footer.php
And I copied and pasted the exact code for each file from your original question, with one exception: for functions.php
I added the starting <?php
tag so my final code looks like this:
<?php
function mortal_theme() {
wp_enqueue_style( 'style', get_template_directory_uri() . '/style.css);
}
add_action( 'wp_enqueue_scripts', 'mortal_theme' );
Based on the screenshot above, everything seems to be working correctly.
However, if I remove the <?php
that I added (to make my code match the one in your question 100%), this is what I see when I view the page:
What do you see when you view your page? If you’re getting results like that in the second screenshot, then it is because you do not have the starting <?php
in the beginning of your functions.php
file. Add that and you’re good to go, insha’Allah.