2015-01-31 10 views
11

हाय में मेरे पृष्ठ टेम्पलेट के लिए कस्टम सीएसएस फ़ाइल के निर्माण के साथ मुझे कुछ मदद चाहिए। इस मुद्दे के बारे में कई विषय हैं लेकिन प्रत्येक थ्रेड के साथ मैं पढ़ता हूं और मुझे अधिक जानकारी मिलती है और अधिक उलझन में मिलता है।वर्डप्रेस

मैं twentyfourteen विषय के लिए एक बच्चे को विषय बनाया है और एक पृष्ठ टेम्पलेट गयी। मैं इस टेम्पलेट में कस्टम सीएसएस कैसे जोड़ सकता हूं। मुझे पता चला कि इस कोड को बच्चे के विषय के functions.php में जोड़ा मेरे सीएसएस के साथ उचित वर्ग का चयन करता है। लेकिन मैं इस वर्ग को कैसे और कहां रखूं? मैंने पढ़ा है कि मुझे हेडर.एचपी में बॉडी टैग में क्लास जोड़ना है, लेकिन मुझे यकीन नहीं है। क्या यह सही तरीका है?

if (is_page_template('mytemplate.php')){ 
$classes[] = 'myclass'; 
} 

उत्तर

12

चुनिंदा लोड सीएसएस के लिए is_page_template() सशर्त उपयोग करें।

नीचे हम wp_enqueue_scripts में hooking रहे हैं और जाँच अगर हम कस्टम पृष्ठ टेम्पलेट पर हैं निर्धारित करने के लिए अतिरिक्त सीएसएस लोड करने के लिए है कि क्या समारोह में।

यदि परिणाम सत्य है तो हम आपकी थीम के अंदर css/ फ़ोल्डर से page-template.css शीर्षक वाली एक सीएसएस फ़ाइल लोड करेंगे। सही फ़ाइल लोड करने के लिए पथ अद्यतन करें।

function wpse_enqueue_page_template_styles() { 
    if (is_page_template('mytemplate.php')) { 
     wp_enqueue_style('page-template', get_template_directory_uri() . '/css/page-template.css'); 
    } 
} 
add_action('wp_enqueue_scripts', 'wpse_enqueue_page_template_styles'); 
+1

अच्छा लगा। इस कोड स्निपेट के लिए नाथन धन्यवाद, यह वही था जो मैं ढूंढ रहा था !! लेकिन जब मैंने इसे शामिल किया तो सीएसएस फ़ाइल लोड नहीं हो रही थी। तो Google ने मुझे बताया कि मुझे get_template_directory_uri() को get_stylesheet_directory_uri() से प्रतिस्थापित करने की आवश्यकता है। अब यह पूरी तरह से काम कर रहा है! – theDrifter

5

इस समाधान के बारे में कैसे?

<?php 
function mypage_head() { 
    echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo('stylesheet_directory').'/includes/mypage.css">'."\n" 
} 
add_action('wp_head', 'mypage_head'); 
?> 
<?php get_header(); ?> 

आप आप अपने कस्टम टेम्पलेट में कस्टम सामान (जावास्क्रिप्ट, सीएसएस ..) जोड़ने के लिए wp_head हुक का उपयोग कर सकते हैं। मुझे लगता है कि यह तरीका बेहतर है क्योंकि सभी परिवर्तन आपकी टेम्पलेट फ़ाइल में होंगे, इसलिए आपको किसी अन्य स्थान पर जांच करने की आवश्यकता नहीं है। http://scratch99.com/wordpress/development/custom-page-template-external-css-file/:

मैं से इस समाधान मिलता है।

0

कैसे इस एक के बारे में?

function my_custom_styles() { 

    wp_register_style('custom-styles', get_template_directory_uri().'/lib/styles/custom-styles.css')); 

    if (is_home) { 

    wp_enqueue_style('custom-styles'); 
    } 
} 

add_action('wp_enqueue_scripts', 'my_custom_styles'); 

मैंने यहां से सभी तीन उत्तरों का परीक्षण किया है; और वे सभी महान काम करता है। क्या कोई जानता है कि कौन सा तेज & बेहतर है?

+0

आप हमेशा एक अलग सवाल पूछ सकते हैं। – Simon