functions.php फ़ाइल में क्या शामिल करें


विवरण

इस पाठ में, आप सीखेंगे कि WordPress थीम में अक्सर functions.php नाम की एक फ़ाइल शामिल होती है, जहाँ विशिष्ट सुविधाएँ और कस्टम फ़ंक्शन जोड़े जा सकते हैं। हालाँकि, प्लगइन्स भी आपकी साइट में सुविधाएँ और कार्यक्षमताएँ जोड़ने के लिए होते हैं। आपको अपना कस्टम कोड जोड़ने के लिए functions.php का उपयोग कब करना चाहिए और प्लगइन्स का उपयोग कब करना चाहिए?  यह पाठ आपको दोनों के बीच का अंतर समझने में मदद करेगा।

उद्देश्य

इस पाठ को पूरा करने के बाद, आप सक्षम होंगे:

  • कार्यक्षमता जोड़ने के लिए प्लगइन्स के उपयोग की तुलना में functions.php के उपयोगों को पहचानना और समझना।
  • समझाना कि functions का उपयोग कब करना चाहिए और कब नहीं करना चाहिए।

पूर्वापेक्षित कौशल

यदि आपके पास निम्नलिखित है, तो आप इस पाठ को पूरा करने के लिए बेहतर रूप से तैयार होंगे:

  • थीम और प्लगइन लिखने का बुनियादी ज्ञान
  • PHP और WordPress कोड से बुनियादी परिचितता

तैयारी संबंधी प्रश्न

  • क्या आप WordPress डैशबोर्ड के माध्यम से थीम इंस्टॉल और सक्रिय करने से परिचित हैं?
  • क्या आपके पास कक्षा के दौरान उपयोग करने के लिए स्थानीय या दूरस्थ रूप से होस्ट की गई सैंडबॉक्स WordPress साइट होगी?
  • क्या आप कोड संपादित करने के लिए टेक्स्ट एडिटर का उपयोग करने में सहज हैं?
  • क्या आपने कभी अपनी WordPress साइट में कस्टम कार्यक्षमता जोड़ी है?
  • क्या आप WordPress थीम की फ़ाइल पदानुक्रम से परिचित हैं?

स्लाइड्स

  • इस पाठ योजना के लिए कोई स्लाइड्स नहीं हैं

आवश्यक सामग्री

  • स्थानीय रूप से इंस्टॉल किया गया WordPress
  • दो या अधिक इंस्टॉल की गई WordPress थीम

प्रस्तुतकर्ता के लिए नोट्स

  • छात्रों के लिए WordPress की स्थानीय रूप से इंस्टॉल की गई प्रति पर काम करना सबसे आसान होता है। यदि छात्रों को WordPress स्थानीय रूप से इंस्टॉल करने में सहायता की आवश्यकता हो, तो कक्षा से पहले कुछ समय इसके लिए अलग रखें। WordPress को स्थानीय रूप से इंस्टॉल करने के तरीके के बारे में अधिक जानकारी के लिए कृपया स्थानीय सर्वर पर इंस्टॉल करना देखें।
  • स्क्रीनिंग प्रश्नों का पसंदीदा उत्तर “हाँ” है। जो प्रतिभागी सभी प्रश्नों का उत्तर “नहीं” देते हैं, वे इस पाठ के लिए तैयार नहीं हो सकते हैं।

पाठ की रूपरेखा

  • functions.php फ़ाइल का परिचय दें
  • functions.php और प्लगइन के बीच का अंतर दिखाएँ
  • बताएँ कि functions.php का उपयोग करना कब अच्छा विचार है
  • ऐसी चीज़ों के उदाहरण दें जिन्हें functions.php में जोड़ा जाना चाहिए और नहीं जोड़ा जाना चाहिए
  • Block Themes और Classic Themes में functions.php लागू करने का अंतर दिखाएँ

अभ्यास

कार्यक्षमता केवल functions.php में जोड़ें।

1. निम्नलिखित कोड फ़ाइल में जोड़कर अपनी सक्रिय थीम की functions.php फ़ाइल में कस्टम excerpt लंबाई की कार्यक्षमता जोड़ें:

function themename_custom_excerpt_length( $length ) { 
    return 40; //number of words in excerpt 
} 
add_filter('excerpt_length','themename_custom_excerpt_length', 99 ); 

2. लंबे excerpt के साथ एक परीक्षण ब्लॉग पोस्ट बनाएँ। सत्यापित करें कि यह सही ढंग से काम करता है, फिर थीम बदलें।
3. ध्यान दें कि कार्यक्षमता अब मौजूद नहीं है, क्योंकि इसे एक विशिष्ट थीम की functions.php फ़ाइल में रखा गया था।

मूल्यांकन

निम्नलिखित में से किसे function.php में नहीं होना चाहिए?

  1. साइडबार स्टाइलिंग
  2. फ़ेविकॉन
  3. कस्टम बैकग्राउंड

उत्तर: 2. फ़ेविकॉन

अतिरिक्त संसाधन

उदाहरण पाठ

परिचय: functions.php फ़ाइल क्या है?

functions.php फ़ाइल का उपयोग WordPress के डिफ़ॉल्ट व्यवहारों को जोड़ने, हटाने या किसी अन्य रूप में बदलने के लिए किया जाता है। यह फ़ाइल थीम के फ़ोल्डर के अंदर स्थित होती है। functions.php एक WordPress प्लगइन की तरह व्यवहार करती है और लेखक को WordPress साइट में कस्टम सुविधाएँ और कार्यक्षमता जोड़ने की अनुमति देती है। चाइल्ड थीम की अपनी functions.php हो सकती है। हालाँकि style.css के विपरीत, चाइल्ड थीम की functions.php, पैरेंट थीम की functions.php को ओवरराइड नहीं करती। इसके बजाय, इसे पैरेंट थीम की functions.php के अतिरिक्त लोड किया जाता है। (यहाँ अधिक पढ़ें)

functions.php, प्लगइन से कैसे अलग है?

चूँकि functions.php और प्लगइन्स दोनों आपको कस्टम कार्यक्षमता बनाने और WordPress में डिफ़ॉल्ट व्यवहार को संशोधित करने की अनुमति देते हैं, इसलिए यह समझना थोड़ा भ्रमित करने वाला हो सकता है कि functions.php का उपयोग कब करना चाहिए और कार्यक्षमता जोड़ने के लिए प्लगइन कब बनाना या उपयोग करना चाहिए। दोनों तरीकों को अधिक विस्तार से देखकर आप बेहतर ढंग से समझ सकते हैं कि प्रत्येक समाधान कब उपयुक्त है। सामान्यतः, प्लगइन्स स्वतंत्र मॉड्यूल होते हैं जिन्हें आपकी WordPress वेबसाइट पर डाउनलोड और इंस्टॉल किया जा सकता है। प्लगइन का उद्देश्य WordPress की कार्यक्षमता बढ़ाना या नई सुविधाएँ जोड़ना है। प्लगइन्स को सक्रिय करने के लिए सक्रिय थीम में किसी संशोधन की आवश्यकता नहीं होती। इसके विपरीत, थीम फ़ाइलों का एक समूह होती हैं जिन्हें WordPress के रूप-रंग को बदलने के लिए डिज़ाइन किया गया है। हालाँकि थीम में कस्टम कार्यक्षमता (कस्टम पोस्ट प्रकार, दृश्य कॉन्फ़िगरेशन पैनल आदि) शामिल हो सकती है, लेकिन अधिकांशतः आप थीम का चयन इस आधार पर करते हैं कि वे आपकी वेबसाइट के उपयोगकर्ता अनुभव को किस प्रकार बदलेंगी। WordPress प्लगइन्स और functions.php फ़ाइल को परिभाषित और अलग करने वाली मूल विशेषताएँ हैं:

एक WordPress प्लगइन…

  • के लिए विशिष्ट, अद्वितीय हेडर टेक्स्ट आवश्यक होता है।
  • wp-content/plugins में, आमतौर पर एक सबडायरेक्टरी में, संग्रहीत होता है।
  • केवल तभी निष्पादित होता है जब इसे “प्लगइन्स” पैनल के माध्यम से अलग से सक्रिय किया जाता है।
  • सभी थीम पर लागू होता है।
  • इसका एकल उद्देश्य होना चाहिए, जैसे पोस्ट को पेज में बदलना, सर्च इंजन ऑप्टिमाइज़ेशन सुविधाएँ देना या बैकअप में सहायता करना।

एक functions.php फ़ाइल…

  • इसके लिए किसी अद्वितीय हेडर टेक्स्ट की आवश्यकता नहीं होती।
  • wp-content/themes में प्रत्येक थीम के साथ, थीम की सबडायरेक्टरी में, संग्रहीत होती है।
  • केवल तभी निष्पादित होती है जब यह वर्तमान में सक्रिय थीम की डायरेक्टरी में हो।
  • केवल उसी थीम पर लागू होती है। यदि थीम बदली जाती है, तो कार्यक्षमता समाप्त हो जाती है।
  • इसमें कई अलग-अलग उद्देश्यों के लिए उपयोग किए जाने वाले अनेक कोड ब्लॉक हो सकते हैं।

functions.php का उपयोग कब करें

हम अनुमान लगा सकते हैं कि यदि कस्टम कार्यक्षमता दृश्य प्रस्तुति से संबंधित है, तो उसे functions.php में होना चाहिए, और यदि वह साइट के व्यवहार से संबंधित है, तो उसे प्लगइन में संग्रहीत किया जाना चाहिए। हालाँकि, दृश्य प्रस्तुति के कस्टमाइज़ेशन को प्लगइन में संग्रहीत करना तकनीकी रूप से संभव है, तो हम कैसे तय करें कि कौन-सा विकल्प बेहतर है? उत्तर आश्चर्यजनक रूप से सरल है। हमें स्वयं से यह प्रश्न पूछना चाहिए: क्या यह कार्यक्षमता किसी एक विशिष्ट थीम से जुड़ी होनी चाहिए या नहीं? चूँकि functions.php थीम फ़ोल्डर में रहती है, इसलिए किसी भी कस्टम कार्यक्षमता के काम करने के लिए उस थीम का सक्रिय होना आवश्यक है। हालाँकि, यदि ऐसी कस्टम कार्यक्षमता को प्लगइन में संग्रहीत किया जाए, तो आप थीम बदल सकते हैं और फिर भी कस्टम कार्यक्षमता बनाए रख सकते हैं। इसलिए, अपने कस्टम कोड को शामिल करने का सर्वोत्तम तरीका निर्धारित करने के लिए यह देखना चाहिए कि कार्यक्षमता किसी थीम के लिए विशिष्ट है या थीम चाहे जो भी सक्षम हो, साइट की सामग्री या संरचना का समर्थन करती है। उदाहरण के लिए, आप किसी विशिष्ट थीम के डिज़ाइन और लेआउट के आधार पर पोस्ट के लिए एक विशिष्ट excerpt लंबाई रखना चाह सकते हैं; इसलिए excerpt कार्यक्षमता को functions.php में जोड़ा जाना चाहिए। यदि आप उपयोग की जाने वाली थीम की परवाह किए बिना सभी पोस्ट के लिए “और पढ़ें” लिंक लागू करना चाहते हैं, तो यह फ़ंक्शन प्लगइन के रूप में जोड़ा जाना चाहिए।

वे चीज़ें जिन्हें functions.php में जोड़ा जा सकता है:

  • सामग्री फ़ॉर्मैटिंग
  • थीम-विशिष्ट हेडर और फ़ुटर कार्यक्षमताएँ
  • आउटपुट बदलने के लिए WordPress hooks, उदाहरण के लिए पोस्ट excerpt की लंबाई बदलने हेतु excerpt_length फ़िल्टर का उपयोग करना
  • पोस्ट थंबनेल, पोस्ट फ़ॉर्मैट और नेविगेशन मेनू के लिए थीम समर्थन सक्षम करने वाला कोड
  • वे फ़ंक्शन जिन्हें आप कई थीम टेम्पलेट फ़ाइलों में दोबारा उपयोग करना चाहते हैं

वे चीज़ें जिन्हें functions.php में नहीं जोड़ा जाना चाहिए:

  • SEO से संबंधित कार्यक्षमताएँ
  • Google Analytics स्क्रिप्ट
  • कस्टम पोस्ट प्रकार और टैक्सोनॉमी

Block Themes बनाम Classic Themes में functions.php लागू करना

Classic WordPress themes में डेवलपर को WordPress सुविधाओं के लिए थीम में समर्थन जोड़ना आवश्यक होता है। क्लासिक थीम की सामान्य functions.php फ़ाइल में इन थीमों के लिए समर्थन सेट अप करने वाला एक फ़ंक्शन शामिल होगा, जिसमें add_theme_support() फ़ंक्शन (जिसे ‘theme supports’ भी कहा जाता है) का उपयोग किया जाता है।

Block theme में, कुछ theme supports डिफ़ॉल्ट रूप से सक्षम होते हैं और उन्हें स्पष्ट रूप से सक्षम करने की आवश्यकता नहीं होती। इसके अतिरिक्त, block theme की theme.json फ़ाइल में कोई सेटिंग शामिल करने पर कुछ theme supports सक्षम हो जाते हैं। theme.json में दी गई सेटिंग, add_theme_support() के माध्यम से जोड़ी गई सुविधा पर प्राथमिकता रखती है। उदाहरण के लिए, theme.json में settings.layout सेटिंग शामिल करने से align-wide theme support सक्षम हो जाएगा।

💡 ऊपर दी गई अभ्यास और मूल्यांकन के साथ आगे बढ़ें।