私は私のテーマでログインページをスタイルしようとします。とても簡単
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
のlink要素を印刷できますか?
すべてのenqueue
アクションに対して、対応するprint_styles
アクションがあります。
wp_enqueue_scripts
→wp_print_styles
admin_enqueue_scripts
→admin_print_styles
customize_controls_enqueue_scripts
→customize_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' />