2010-08-12 22 views
16

मैं एक ग्राहक के लिए अपनी पहली WordPress साइट का निर्माण कर रहा हूं। मैं वास्तव में सीएसएस के लिए LESS का उपयोग करना चाहता हूं और WP-LESS नामक एक WP प्लगइन मिला।मेरी वर्डप्रेस थीम में wp_enqueue_style() का उपयोग कैसे करें?

अब, मैं कुल वर्डप्रेस न्यूब हूं, लेकिन ऐसा लगता है कि इस प्लगइन के लिए मुझे wp_enqueue_style() नामक फ़ंक्शन का उपयोग करने की आवश्यकता है ताकि वर्डप्रेस को .less फ़ाइल को संसाधित करने के लिए कहा जा सके।

मैं यह नहीं समझ सकता कि मैं इस फ़ंक्शन का उपयोग कहां करता हूं। मैंने अपनी थीम निर्देशिका में मेरी header.php फ़ाइल में देखा और मैं इसे देखता हूं।

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

क्या मुझे इस कोड को इस तरह से बदलना है?

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

उत्तर

21

काफी नहीं, लेकिन लगभग। आप क्या करना चाहते हैं functions.php में एक फ़ंक्शन रखें जो आपकी स्क्रिप्ट को कतारबद्ध करता है।

तो:

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

तो सुनिश्चित करें कि आप अपने header.php फ़ाइल में do_action('wp_head'); है और यह ठीक काम करना चाहिए बनाते हैं। थीम या प्लग के अंदर

+0

हाँ, लेकिन मेरा हेडर मुखपृष्ठ के लिए अद्वितीय नहीं है। तो अगर मैं इसे अपने हेडर में जोड़ता हूं, तो यह प्रत्येक पृष्ठ में शामिल होता है। – Mark

+0

मार्क, फिर आप 'wp_enqueue_script()' कॉल को 'if (is_front_page()) {...} 'सशर्त कथन के अंदर रखें। इससे स्क्रिप्ट को केवल होमपेज पर जोड़ा जाएगा, हर गति पर नहीं। – EAMann

20

wp_enqueue_style उपयोग:

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

इस मुद्दे अपने आप में चलाते थे और EAMann के टिप लगभग काम किया। यह, वर्डप्रेस (3.4) के संस्करण हो सकता है, हालांकि मैं एक php डेवलपर तो मैं यकीन नहीं है नहीं कर रहा हूँ, लेकिन मैं बजाय क्या प्रदान की गई थी के समारोह नीचे इस की जरूरत:

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

में समारोह के नीचे जोड़ें आपकी थीम function.php और आपको शैली और स्क्रिप्ट मिलती है।

<?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); 
?> 
संबंधित मुद्दे