2010-08-12 14 views
16

Estoy construyendo mi primer sitio de WordPress para un cliente. Realmente quiero usar LESS para CSS y encontré un complemento WP llamado WP-LESS.Cómo usar wp_enqueue_style() en mi tema de WordPress?

Ahora, soy un total de WordPress newb, pero parece que este complemento requiere que use una función llamada wp_enqueue_style() para decirle a WordPress que procese el archivo .less.

No puedo entender dónde uso esta función. Busqué en mi archivo header.php en mi directorio de temas y veo esto.

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

¿Se supone que debo reemplazar este código por algo como esto?

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

Respuesta

21

No del todo, pero casi. Lo que quiere hacer es colocar una función en functions.php que ponga en cola su script.

Así:

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

A continuación, asegúrese de que tiene en su archivo do_action('wp_head');header.php y debería funcionar bien.

+0

Sí, pero mi encabezado no es exclusivo de la página de inicio. Entonces, si lo agrego en mi encabezado, está incluido en cada página. – Mark

+0

Marque, luego colocaría la llamada 'wp_enqueue_script()' dentro de una instrucción condicional 'if (is_front_page()) {...}'. Eso haría que el script solo se agregue a la página principal, no a cada paso. – EAMann

20

uso wp_enqueue_style dentro del tema o el 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

encontré con este problema a mí mismo, y la punta de EAMann casi funcionó. Puede ser que sea la versión de WordPress (3.4), aunque no soy un desarrollador de PHP, así que no estoy seguro, pero necesitaba esta por debajo de la función en lugar de lo que estaba previsto:

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

Añadir a continuación en función de su tema function.php y obtiene estilo y script.

<?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); 
?> 
Cuestiones relacionadas