wp_head() not inserting the default stylesheet style.css

I have a custom theme with just a name in its style.css. I’ve activated it in admin which shows it just fine.

In the index.php just <?php wp_head(); ?> and it doesn’t output the line that is supposed to include my main stylesheet style.css:

<link rel="stylesheet" id='my-theme'  href="https://wordpress.stackexchange.com/questions/162643/~/wp-content/themes/my-theme/style.css" type="text/css" media="all" />

It prints out all the other stuff but that line! What would make it not print out my default stylesheet inclusion line?


style.css :

/*
Theme Name: my-theme
*/

index.php :

hello world
<?php wp_head(); ?>

output:

hello world
<meta name="robots" content="noindex,follow" />
<link rel="stylesheet" id='open-sans-css'  href="https://fonts.googleapis.com/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&#038;subset=latin%2Clatin-ext&#038;ver=4.0" type="text/css" media="all" />
<link rel="stylesheet" id='dashicons-css'  href="~/wp-includes/css/dashicons.min.css?ver=4.0" type="text/css" media="all" />
<link rel="stylesheet" id='admin-bar-css'  href="~/wp-includes/css/admin-bar.min.css?ver=4.0" type="text/css" media="all" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="~/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="~/wp-includes/wlwmanifest.xml" /> 
<meta name="generator" content="WordPress 4.0" />
<style type="text/css" media="print">#wpadminbar { display:none; }</style>
<style type="text/css" media="screen">
    html { margin-top: 32px !important; }
    * html body { margin-top: 32px !important; }
    @media screen and ( max-width: 782px ) {
        html { margin-top: 46px !important; }
        * html body { margin-top: 46px !important; }
    }
</style>

2 Answers
2

Actually you shouldn’t add JS and CSS files to your header.php, but make use of the functions wp_enqueue_script() and wp_enqueue_style() to add them there.

Example taken from the codex page:

/**
 * Proper way to enqueue scripts and styles
 */
function theme_name_scripts() {
    wp_enqueue_style( 'style-name', get_stylesheet_uri() );
    wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
}

add_action( 'wp_enqueue_scripts', 'theme_name_scripts' );

Leave a Comment