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='~/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='//fonts.googleapis/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&subset=latin%2Clatin-ext&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>
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='~/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:
Share Improve this question edited Sep 26, 2014 at 13:17 laggingreflex asked Sep 26, 2014 at 13:12 laggingreflexlaggingreflex 1,0303 gold badges14 silver badges23 bronze badges 2 |hello world <meta name='robots' content='noindex,follow' /> <link rel='stylesheet' id='open-sans-css' href='//fonts.googleapis/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&subset=latin%2Clatin-ext&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
Reset to default 5Actually 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' );
You should add your .js and .css files, like this. in your header.php
<link rel='stylesheet' id='my-theme' href='<?php echo get_template_directory_uri(); ?>/style.css' type='text/css' media='all' />
Did you notice <?php echo get_template_directory_uri(); ?>
in above code that you will need to use. It defines URL to theme folder on your website. You can add all other files links similarly.
Although it's not necessary to include /theme/style.css in your website unless it has any styles for website to use. I think your theme use this style.css file only for information/define theme variable purposes.
index.php
but these must be already inheader.php
and<?php wp_head(); ?>
must be first line in index.php or all other theme files. – Robert hue Commented Sep 26, 2014 at 13:20