将登录页面的样式表排入队列并使其显示在head元素中

时间:2013-12-28 作者:fuxia

我尝试在我的主题中设置登录页面的样式。非常简单:

add_action( \'login_enqueue_scripts\', function()
{
    wp_enqueue_style( \'TEST\', get_template_directory_uri() . \'/css/login.css\' );
});
不幸的是,它没有按预期工作。这个link 元素出现在body 登录页面,非常晚。

渲染输出:

<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>
这是错误的,如何在head?

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

对于每个enqueue 动作,有对应的print_styles 措施:

  • wp_enqueue_scriptswp_print_styles
  • admin_enqueue_scriptsadmin_print_styles
  • customize_controls_enqueue_scriptscustomize_controls_print_styles
不用于登录页面。没有login_print_styles 操作或函数,因此样式表将在do_action( \'login_footer\' );.

但有一个简单的解决方法:

if ( ! has_action( \'login_enqueue_scripts\', \'wp_print_styles\' ) )
    add_action( \'login_enqueue_scripts\', \'wp_print_styles\', 11 );
WordPress现在将打印所有link 在适当的位置为该页注册的元素head 元素,就在内置样式表之后。

结果:

<link rel=\'stylesheet\' id=\'dashicons-css\'  href=\'http://git.wp/wp-includes/css/dashicons.min.css?ver=3.9-alpha\' type=\'text/css\' media=\'all\' />
<link rel=\'stylesheet\' id=\'wp-admin-css\'  href=\'http://git.wp/wp-admin/css/wp-admin.min.css?ver=3.9-alpha\' type=\'text/css\' media=\'all\' />
<link rel=\'stylesheet\' id=\'buttons-css\'  href=\'http://git.wp/wp-includes/css/buttons.min.css?ver=3.9-alpha\' type=\'text/css\' media=\'all\' />
<link rel=\'stylesheet\' id=\'colors-fresh-css\'  href=\'http://git.wp/wp-admin/css/colors.min.css?ver=3.9-alpha\' type=\'text/css\' media=\'all\' />
<!--[if lte IE 7]>
<link rel=\'stylesheet\' id=\'ie-css\'  href=\'http://git.wp/wp-admin/css/ie.min.css?ver=3.9-alpha\' type=\'text/css\' media=\'all\' />
<![endif]-->
<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\' />

结束

相关推荐

站点描述CSS已被覆盖

我正在尝试将我的第213个标题的站点描述颜色更改为#220E10。我的风格。css文件读取:.site-description { font: 300 italic 20px \"Source Sans Pro\", Helvetica, sans-serif; color: #220E10; text-align: center; margin: 0; padding-bottom: 25px; } 但是,