I try to style the login page in my theme. Very simple:
add_action( 'login_enqueue_scripts', function()
{
wp_enqueue_style( 'TEST', get_template_directory_uri() . '/css/login.css' );
});
Unfortunately, it doesnât work as expected. The link
element appears in the body
of the login page, very late.
Rendered output:
<link rel='stylesheet' id='TEST-css' href='http://themes.wp/t5-theme-base/css/login.css?ver=3.9-alpha' type='text/css' media='all' />
<div class="clear"></div>
</body>
</html>
This is wrong, how can I print the link element in the head
?
For every
enqueue
action, there is a correspondingprint_styles
action:wp_enqueue_scripts
âwp_print_styles
admin_enqueue_scripts
âadmin_print_styles
customize_controls_enqueue_scripts
âcustomize_controls_print_styles
Not for the login page. There is no
login_print_styles
action or function, so your stylesheets are thrown out ondo_action( 'login_footer' );
.But there is a simple fix:
WordPress will now print all
link
elements registered for that page at the proper place, thehead
element, right after the built-in stylesheets.Result: