Ghi lại biểu định kiểu cho trang đăng nhập và làm cho nó xuất hiện trong phần tử head


10

Tôi cố gắng tạo kiểu trang đăng nhập trong chủ đề của tôi. Rất đơn giản:

add_action( 'login_enqueue_scripts', function()
{
    wp_enqueue_style( 'TEST', get_template_directory_uri() . '/css/login.css' );
});

Thật không may, nó không hoạt động như mong đợi. Phần linktử xuất hiện trong bodytrang đăng nhập, rất muộn.

Kết xuất đầu ra:

<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>

Điều này là sai, làm thế nào tôi có thể in các yếu tố liên kết trong head?

Câu trả lời:


26

Đối với mỗi enqueuehành động, có một print_styleshành động tương ứng :

  • wp_enqueue_scriptswp_print_styles
  • admin_enqueue_scriptsadmin_print_styles
  • customize_controls_enqueue_scriptscustomize_controls_print_styles

Không cho trang đăng nhập. Không có login_print_styleshành động hoặc chức năng, vì vậy các bảng định kiểu của bạn bị ném ra ngoài do_action( 'login_footer' );.

Nhưng có một cách khắc phục đơn giản:

if ( ! has_action( 'login_enqueue_scripts', 'wp_print_styles' ) )
    add_action( 'login_enqueue_scripts', 'wp_print_styles', 11 );

Bây giờ WordPress sẽ in tất cả các linkthành phần đã đăng ký cho trang đó tại vị trí thích hợp, thành headphần đó, ngay sau biểu định kiểu tích hợp.

Kết quả:

<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' />
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.