2010-08-12 65 views
16

Tôi đang xây dựng trang WordPress đầu tiên của mình cho một khách hàng. Tôi thực sự muốn sử dụng LESS cho CSS và tìm thấy một plugin WP có tên là WP-LESS.Làm thế nào để sử dụng wp_enqueue_style() trong chủ đề WordPress của tôi?

Bây giờ, tôi là tổng số WordPress newb, nhưng có vẻ như plugin này yêu cầu tôi sử dụng một hàm gọi là wp_enqueue_style() để yêu cầu WordPress xử lý tệp .less.

Tôi không thể tìm ra nơi tôi sử dụng chức năng này. Tôi đã xem tệp header.php trong thư mục chủ đề của mình và tôi thấy điều này.

<link rel="stylesheet" type="text/css" media="all" 
    href="<?php bloginfo('stylesheet_url'); ?>" /> 

Tôi có nên thay thế mã này bằng thứ gì đó như thế này không?

<?php wp_enqueue_style('mytheme', 
    get_bloginfo('template_directory').'/style.less', 
    array('blueprint'), '', 'screen, projection'); ?> 

Trả lời

21

Không hoàn toàn, nhưng gần như. Những gì bạn muốn làm là đặt một hàm trong functions.php xếp hàng đợi tập lệnh của bạn.

Vì vậy:

function addMyScript() { 
    wp_enqueue_style('mytheme', get_bloginfo('template_directory').'/style.less', array('blueprint'), '', 'screen, projection'); 
} 
add_action('wp_head', 'addMyScript'); 

Sau đó, chắc chắn rằng bạn có do_action('wp_head'); trong tập tin header.php của bạn và nó sẽ chỉ làm việc tốt.

+0

Có, nhưng tiêu đề của tôi không phải là duy nhất cho trang chủ. Vì vậy, nếu tôi thêm nó vào tiêu đề của tôi, nó có trong mỗi trang. – Mark

+0

Đánh dấu, sau đó bạn đặt lệnh 'wp_enqueue_script()' bên trong câu lệnh điều kiện 'if (is_front_page()) {...}'. Điều đó sẽ khiến cho tập lệnh chỉ được thêm vào trang chủ chứ không phải trên mọi tốc độ. – EAMann

20

wp_enqueue_style sử dụng bên trong các chủ đề hoặc plugin:

wp_enqueue_style('my-style', get_template_directory_uri() . '/css/my-style.css', false, '1.0', 'all'); // Inside a parent theme 
wp_enqueue_style('my-style', get_stylesheet_directory_uri() . '/css/my-style.css', false, '1.0', 'all'); // Inside a child theme 
wp_enqueue_style('my-style', plugins_url('/css/my-style.css', __FILE__), false, '1.0', 'all'); // Inside a plugin 
2

Ran vào vấn đề này bản thân mình, và tip EAMann và gần như đã làm việc. Nó có thể là phiên bản của WordPress (3.4), mặc dù tôi không phải là một nhà phát triển php vì vậy tôi không chắc chắn, nhưng tôi cần điều này bên dưới hàm thay vì những gì đã được cung cấp:

add_action('wp', 'useLess'); 
1

Thêm chức năng dưới đây vào theme.php chủ đề của bạn và bạn có được phong cách và kịch bản.

<?php 
if (! function_exists('add_script_style')) { 
    function add_script_style() { 
     /* Register & Enqueue Styles. */ 

     wp_register_style('my-style', get_template_directory_uri().'/css/my-style.css'); 
     wp_enqueue_style('my-style'); 

     /* Register & Enqueue scripts. */ 

     wp_register_script('my-script', get_template_directory_uri().'/js/my-script.js'); 
     wp_enqueue_script('my-script'); 
    } 
} 
add_action('wp_enqueue_scripts', 'add_script_style', 10); 
?> 
Các vấn đề liên quan