2010-03-17 14 views
7

मैं अपने विषय के functions.php फ़ाइल में एक निर्देश जो वर्डप्रेस शरीर टैग के लिए एक classname संलग्न कर देता है रखना चाहते हैं। क्या इसके लिए एक अंतर्निहित एपीआई विधि है?वर्डप्रेस बॉडी टैग में एक कस्टम क्लास नाम जोड़ें?

उदाहरण के लिए, मेरा शरीर टैग कोड है ...

<body <?php if(function_exists("body_class") && !is_404()){body_class();} else echo 'class="page default"'?>> 

और यह निम्नलिखित बॉडी टैग (संदर्भ में पेज प्रस्तुत किया जाता है पर निर्भर करता है के लिए लिखा जा रहा (पेज, पोस्ट में परिणाम है, लॉग-इन, आदि)

<body class="home blog logged-in"> 

मैं समय पर उपयोग कर रहा हूँ बच्चे विषय के आधार पर, मैं इसे होना चाहता हूँ ...

<body class="home blog logged-in mychildthemename"> 
+1

मुझे यकीन है कि मैं आपके प्रश्न को नहीं कर रहा हूँ - मैं तो बस क्लासिक विषय पर नज़र ले लिया, और '' टैग उत्पादन होता है सीधे 'header.php' फ़ाइल में। कक्षा नामों को स्टोर और लाने के लिए आप वास्तव में एक एपीआई विधि की तलाश में हैं? –

+0

हाय पेका, मैं बेहतर स्पष्टीकरण के लिए सवाल का मेरे शरीर टैग जोड़ने के बाद। मैं सिर्फ इतना है कि body_class() फ़ंक्शन का दोहन करने के लिए यह करने के लिए अपने बच्चे को विषय नाम जोड़ने के लिए है, इसलिए है कि मैं अपने मुख्य विषय में सशर्त सीएसएस कि तभी लागू होता है जब एक विशिष्ट बच्चे विषय सक्रिय है हो सकता है चाहते हैं। –

उत्तर

17

आप body_class फिल्टर, इसलिए की तरह उपयोग कर सकते हैं।

+0

बिल्कुल वही जो मैं खोज रहा था। धन्यवाद रिचर्ड! –

+0

* नायब *: सुनिश्चित करें कि आपके विषय शरीर टैग, header.php में आम तौर पर, कॉल समारोह() '<शरीर > ' – Duncanmoo

-1

आप अपने विषय के header.php को संपादित करने और वहाँ (स्वयं या कुछ पूर्व निर्धारित तर्क नियमों के अनुसार) वर्ग बदल जाते हैं।

function my_plugin_body_class($classes) { 
    $classes[] = 'foo'; 
    return $classes; 
} 

add_filter('body_class', 'my_plugin_body_class'); 

हालांकि, जाहिर है, अपने विषय इसी body_class फ़ंक्शन को कॉल करने की जरूरत है:

1

मामले में आप बॉडी टैग करने के लिए वर्गों को जोड़ने के लिए है, जबकि व्यवस्थापक क्षेत्र में, बजाय admin_body_class हुक का उपयोग करने के लिए याद कोशिश कर रहे हैं। ध्यान दें कि यह एक फिल्टर जो थोड़ा अलग काम करता है के बाद से यह नहीं बल्कि एक सरणी से कक्षाओं के एक स्ट्रिंग से गुजरता है, तो अपने कोड इस तरह दिखेगा:

add_filter('admin_body_class', 'my_admin_body_class'); 
function my_admin_body_class($classes) { 
    return $classes . ' my_class'; 
} 
10

आप भी इसे सीधे WP body_class समारोह जो संलग्न कर देगा अंदर उपयोग कर सकते हैं शरीर वर्ग के अंदर स्ट्रिंग।

उदाहरण के लिए।

$class="custom-class"; 
<body <?php body_class($class); ?>> 

http://codex.wordpress.org/Function_Reference/body_class

0

इस प्रयास करें ..

add_filter('body_class', 'custom_class'); 
function custom_class($classes) { 
    if (!is_front_page()) { 
     $classes[] = 'example'; 
    } 
    return $classes; 
} 
संबंधित मुद्दे