फिल्टर क्या हैं?
फ़िल्टर ऐसे फ़ंक्शंस हैं, जो डेटा के साथ कुछ कार्रवाई करने से पहले, वर्डप्रेस डेटा से गुजरता है, (जैसे कि इसे डेटाबेस में जोड़ना या ब्राउज़र स्क्रीन पर भेजना)। फिल्टर डेटाबेस और ब्राउज़र के बीच बैठते हैं (जब वर्डप्रेस पेज उत्पन्न कर रहा है), और ब्राउज़र और डेटाबेस के बीच (जब वर्डप्रेस डेटाबेस में नई पोस्ट और टिप्पणियां जोड़ रहा है); वर्डप्रेस में अधिकांश इनपुट और आउटपुट कम से कम एक फिल्टर से होकर गुजरता है। वर्डप्रेस डिफ़ॉल्ट रूप से कुछ फ़िल्टरिंग करता है, और आपका प्लगइन अपना फ़िल्टरिंग जोड़ सकता है।
एक फिल्टर में हुकिंग
उपयोगकर्ताओं को कुछ विशिष्ट डेटा (एक मान, एक फ़ंक्शन आदि का आउटपुट) बदलने के लिए फ़ंक्शंस हुक apply_filters
फ़ंक्शंस के माध्यम से प्रदान किए जाते हैं ।
इन फ़िल्टर हुक में फ़िल्टर का नाम (या टैग ) और कम से कम फ़ंक्शन का नाम शामिल होता है जिसका उपयोग डेटा को फ़िल्टर करने के लिए किया जाता है (यानी, किसी तरह से बदलकर)।
पोस्ट का शीर्षक बदलने के लिए, आप the_title
फ़िल्टर हुक का उपयोग कर सकते हैं , जिसे निम्नानुसार परिभाषित किया गया है:
apply_filters( 'the_title', $title, $id );
इसका अर्थ है, फ़िल्टर में टैग / नाम है the_title
, पहला पैरामीटर $title
वह डेटा है जिसे बदलना है (यानी, पोस्ट शीर्षक) और दूसरा पैरामीटर $id
अतिरिक्त जानकारी है (इस मामले में पोस्ट आईडी)।
उदाहरण के लिए, UPPERCASE में प्रत्येक पोस्ट का शीर्षक प्रदर्शित करने के लिए, आप निम्न पंक्ति का उपयोग कर सकते हैं:
add_filter('the_title', 'strtoupper');
यदि हम add_filter
फ़ंक्शन पर एक नज़र डालते हैं , तो हम देखते हैं कि इसे निम्नानुसार परिभाषित किया गया है:
add_filter( $tag, $function_to_add, $priority, $accepted_args );
हमने केवल पहले और दूसरे (आवश्यक) पैरामीटर को निर्दिष्ट किया, जबकि तीसरा और चौथा पैरामिटर अपने संबंधित डिफ़ॉल्ट मान (यानी, 10
और 1
) पर सेट है।
एक और अधिक जटिल फ़िल्टर
यदि आप केवल एक निश्चित पोस्ट को फ़िल्टर करना चाहते हैं , तो आप अतिरिक्त जानकारी (इस फ़िल्टर के मामले में: ID) का उपयोग कर सकते हैं। ऐसा करने के लिए, आपको मापदंडों की संख्या (जो इस मामले में 2 है) को निर्दिष्ट करना होगा, और ऐसा करने के लिए, आपको प्राथमिकता पैरामीटर (जो तर्कों की संख्या से पहले आता है) को निर्दिष्ट करना होगा।
मान लीजिए कि हम केवल आईडी 42 के साथ पद के शीर्षक को प्रभावित करना चाहते हैं, तो यह इस तरह दिखता है:
add_filter('the_title', 'my_strtoupper', 10, 2);
function my_strtoupper($title, $id) {
if (42 === $id) return strtoupper($title);
return $title;
} // function my_strtoupper
इस मामले में, हमें सभी चार उपलब्ध मापदंडों को निर्दिष्ट करना होगा।
मेरे पास क्या पैरामीटर हैं?
एक निश्चित फिल्टर के उपलब्ध मापदंडों की संख्या (संख्या) की पहचान करने के लिए, आपको यह देखना होगा कि इसे कहां परिभाषित किया गया है (इस मामले में: यहां )।
संदर्भ :