2010-11-18 11 views
7

Tôi hiện đang nghiên cứu về cách tạo các mẫu quản lý Wordpress thông qua plug-in, và theo Wordpress Wiki bạn có thể sử dụng móc như admin_head, wp_admin_css, và/hoặc login_head tự vang thẻ html liên kết của bạn :Làm cách nào để buộc wp_enqueue_style hiển thị CSS ở cuối thẻ đầu để ghi đè tất cả các quy tắc CSS?

echo "<link rel="stylesheet" type="text/css" href="' . get_option('siteurl') . '/wp-content/plugins/blue-steel/login.css" />'."\n"; 

Ví dụ rõ ràng là A Bad Thing vì cách các thẻ liên kết là hardcoded bên php logic.

Lý tưởng là sử dụng wp_enqueue_style() để chèn CSS. Tuy nhiên, nó có ý tưởng riêng của nó là WHEN CSS được chèn vào và chỉ phản ứng với móc mà nó thích. Ví dụ: kiểu wp_enqueue không phản hồi tốt bên trong admin_head. Cho đến nay tôi chỉ có thể sử dụng nó bên wp_print_stylesinit, nhưng sau đó một lần nữa, bạn có thể không thực sự hiển thị CSS sau khi tất cả các CSS mặc định đã nạp:

<link rel='stylesheet' href='http://localhost/wordpress/wp-admin/load-styles.php?c=0&amp;dir=ltr&amp;load=plugin-install,global,wp-admin&amp;ver=9e478aac7934ae559830ecb557b6511d' type='text/css' media='all' /> 
<link rel='stylesheet' id='pinq-admin-css' href='http://localhost/wordpress/wp-content/themes/ardee/css/pinq-admin.css?ver=3.0.1' type='text/css' media='all' /> 
<link rel='stylesheet' id='thickbox-css' href='http://localhost/wordpress/wp-includes/js/thickbox/thickbox.css?ver=20090514' type='text/css' media='all' /> 
<link rel='stylesheet' id='colors-css' href='http://localhost/wordpress/wp-admin/css/colors-fresh.css?ver=20100610' type='text/css' media='all' /> 

Tôi chỉ muốn pinq-do quản trị viên css để hiển thị ở đầu dưới cùng của thẻ đầu (tốt nhất là ngay trước đầu đóng) để nó có thể ghi đè tất cả CSS liên quan đến Wordpress đã được tải.

Bất kỳ suy nghĩ nào về điều này?

Trả lời

7

Xin chào. Có một đối số được gọi là $deps cho wp_enqueue_style, bạn nên dùng thử. Bạn có thể đề cập rằng biểu định kiểu của bạn phụ thuộc vào tất cả phần còn lại, do đó đặt nó bên dưới các biểu định kiểu khác. Ngoài ra, bạn cũng có thể tiếp tục với !important. Thông tin thêm về các phụ thuộc: http://codex.wordpress.org/Function_Reference/wp_enqueue_style

+3

wp_enqueue_style ('pinq-admin', get_bloginfo ('stylesheet_directory'). "/css/pinq-admin.css", mảng ('colors', 'thickbox')) đã thực hiện thủ thuật. Nó đã đi dưới thickbox-css và colors-css. Khéo léo. Cảm ơn! –

+0

Bạn cũng có thể sử dụng kỹ thuật này để đảm bảo css xếp hàng của bạn xuất hiện sau khi style.css của trang web bằng cách đặt $ deps thành mảng ('% theme_name% -style') – Snaver

0

Tôi biết điều này là cổ xưa, nhưng đây là một số mã thực tế, được cắt và dán từ trang web của tôi. Đây là trong file functions.php của theme con tôi:

add_action('init', 'add_custom_styles', 99); 
function add_custom_styles() { 
wp_enqueue_style('custom-styles', get_stylesheet_directory_uri() .'/custom.css', array('storefront-style', 
'wc-bundle-style','storefront-child-style')); 
} 

Các 'tùy chỉnh phong cách' đơn giản là một file có tiêu đề "custom.css" trong thư mục child theme có chứa tất cả các kiểu tùy chỉnh của tôi Tôi muốn được tải cuối cùng.

Bên cạnh đó, để tìm tay cầm của stylesheets mà bạn muốn trở thành trên stylesheet custom.css của bạn, sử dụng kỹ thuật này được nêu ở đây:

http://crunchify.com/how-to-print-all-loaded-java-scripts-and-css-stylesheets-handle-for-your-wordpress-blog/