15 उपयोगी वर्डप्रेस फ़ंक्शंस सभी डेवलपर्स को पता होना चाहिए
वर्डप्रेस हमारे लिए डेवलपर्स का उपयोग करने के लिए महान कार्यों से भरा है। हम पतली हवा से पोस्ट सूचियों को खींच सकते हैं, उनके बारे में लगभग हर चीज में हेरफेर कर सकते हैं, किसी भी उपयोगकर्ता को पकड़ सकते हैं जो हम चाहते हैं और अपने सोशल मीडिया कनेक्शन को ईर्ष्या में प्रदर्शित करते हैं.
हालाँकि कुछ कार्य ऐसे हैं जो अज्ञात कारणों से अनदेखे प्रतीत होते हैं। मैं वर्डप्रेस के साथ अब लगभग 8 वर्षों से कोडिंग कर रहा हूं और कभी-कभी मुझे अभी भी कुछ नया मिलता है! आइए, मेरे कुछ पर एक नज़र डालें पसंदीदा अनदेखी कार्य और रास्ते में उनका उपयोग करना सीखें.
antispambot ()
मैं आमतौर पर इस के साथ कुछ भौहें बढ़ाता हूं, यह कोडबेस में सबसे अच्छी तरह से छिपे हुए कार्यों में से एक लगता है.
HTML संस्थाओं के साथ वर्णों को बदलता है जो एक तरह से है मुखौटा ईमेल पते दुष्ट स्क्रेपर्स से.antispambot ()
$ ईमेल = '[email protected]'; गूंज 'आप मुझसे संपर्क कर सकते हैं'। antispambot ($ ईमेल)। ' किसी भी समय'.
हालांकि यह एक उपयोगी tidbit है, यह भी इस बात का एक उदाहरण है कि कुछ लोग वर्डप्रेस की आलोचना क्यों करते हैं - यह एक भयानक रूप से नामित फ़ंक्शन है। फ़ंक्शन नाम को पढ़ने से, आपको पता नहीं है कि यह क्या करता है.
human_time_diff ()
जब मैंने पहली बार इस समारोह के बारे में एक साल पहले सीखा था तो मुझे लगा कि यह एक हालिया जोड़ है जो मैंने चैंज में देखा था। काफी नहीं…
यह फ़ंक्शन - जो दो टाइमस्टैम्प के बीच अंतर को आउटपुट करता है - संस्करण 1.5 के बाद से है (यह 17 फरवरी, 2018 है!).
निम्नलिखित महान स्निपेट मैंने कोडेक्स से उधार लिया है, यह दर्शाता है कि एक वर्तमान पोस्ट कितनी देर पहले प्रकाशित हुई थी। इसका उपयोग करता है पहले तर्क के रूप में पोस्ट की तारीख प्रकाशित करें और यह वर्तमान तिथि दूसरी के रूप में.
गूंज 'यह पोस्ट प्रकाशित हुई थी'। human_time_diff (get_the_time ('U'), current_time ('टाइमस्टैम्प')। 'पहले';
get_post_meta ()
मेरे साथ यहाँ भालू, मुझे पता है कि यह एक अच्छी तरह से उपयोग किया जाने वाला कार्य है, हालांकि, यह कैसे काम करता है, यह सामान्य ज्ञान नहीं है। सबसे पहले, दूसरे और तीसरे मापदंडों को छोड़ कर आप कर सकते हैं पोस्ट के लिए सभी मेटाडेटा को खींचें.
$ all_meta = get_post_meta (14);
यहां तक कि अगर आप केवल एक ही कुंजी के लिए डेटा हड़पते हैं तो भी सभी पोस्टमैटा को खींच लिया जाता है.
कारण वास्तव में बहुत तार्किक है। मेटाडेटा का उपयोग कई स्थानों पर किया जाता है। अगर
हर बार डेटाबेस का उपयोग करने के बाद हम कई प्रश्नों को समाप्त कर देते हैं। इसके बजाय, यदि आप मेटाडेटा को खींचते हैं तो यह सभी को कैश करता है और बाद के सभी मेटाडेटा रिट्रीवल पर कैश्ड मान का उपयोग करता है.get_post_meta ()
wp_upload_bits ()
यह फंक्शन स्ट्रेट-अप है फ़ाइल अपलोडिंग फ़ंक्शन. हालांकि यह फ़ाइल को अपलोड फ़ोल्डर में स्थानांतरित नहीं करता है और इसे वर्डप्रेस मीडिया सेक्शन में जोड़ देता है, यह बेहद सुविधाजनक है और आप हमेशा बाकी के साथ कर सकते हैं
समारोह.wp_insert_attachment ()
$ अपलोड = wp_upload_bits ($ फ़ाइल ['नाम'], अशक्त, file_get_contents ($ फ़ाइल ['tmp_name']));
इसके लिए कुछ स्पष्टीकरण हाथ में है: पहला पैरामीटर फ़ाइल नाम है। दूसरा मूल्यह्रास है इसलिए इसे शून्य पर सेट किया जाना चाहिए (वर्डप्रेस स्थिरता पर आईरोल)। तीसरा पैरामीटर फ़ाइल की वास्तविक सामग्री है.
get_post_field ()
पिछले दिनों मैंने काफी कुछ उदाहरण देखे, जहां किसी ने किसी पोस्ट के लिए टिप्पणी गणना प्राप्त करने के लिए एक लूप लिखा, या इसके लिए एक समर्पित डेटाबेस क्वेरी लिखी। आपको उनकी आवश्यकता नहीं है, जो आपको चाहिए
. यह समारोह एक पद के लिए एक ही क्षेत्र का मान निकालता है डेटाबेस में। चलो एक टिप्पणी गिनती पकड़ो!get_post_field ()
यह पोस्ट है टिप्पणियाँ.
wpautop ()
यह फ़ंक्शन थोड़ा सुर्खियों में आया है, लेकिन यह अभी भी अपेक्षाकृत अज्ञात है। यह PHP के मूल निवासी के समान है nl2br
लेकिन नई लाइनें बनाने के बजाय, यह पैराग्राफ में अपनी सामग्री लपेटता है.
यह उपयोगी है यदि आपके पास एक टेक्स्टबॉक्स है और आप यह सुनिश्चित करना चाहते हैं कि जब उपयोगकर्ता डबल लाइन ब्रेक के साथ पैराग्राफ बनाते हैं, तो वे फ्रंट-एंड में भी दिखाई देते हैं.
हमारे उपयोगकर्ता क्या कहते हैं
wp_is_mobile ()
यह उपयुक्त रूप से नामित कार्य है पता लगाता है कि जब कोई उपयोगकर्ता मोबाइल डिवाइस पर है और आपको तदनुसार सामग्री प्रदर्शित करने की अनुमति देता है. चूंकि यह एक सशर्त टैग है, यह परिदृश्य के आधार पर सही या गलत है.
एक समृद्ध उपयोगकर्ता अनुभव के लिए अपने डेस्कटॉप पर हमारी वेबसाइट पर जाएं
wp_redirect ()
अंतिम उदाहरण एक और साफ कार्य दिखाता है:
. इसका उपयोग PHP के मूल निवासी के स्थान पर किया जाना चाहिए wp_redirect ()
हैडर ()
समारोह। वर्डप्रेस पुनर्निर्देशन फ़ंक्शन आपको करने की अनुमति देता है URL को रीडायरेक्ट करने के लिए सेट करें, और एक स्थिति कोड भी सेट करें, स्थायी पुनर्निर्देशन से निपटने के लिए भी अच्छा है.
// एक URL के लिए जो अब wp_redirect ('http://website.com/new-url/', 301) का उपयोग नहीं करता है;
paginate_links ()
मुझे विश्वास है कि इस समारोह में WP-PageNavi प्लगइन की लोकप्रियता के कारण इसकी अस्पष्टता है। डिफ़ॉल्ट रूप से वर्डप्रेस आपकी पोस्ट सूची के अंत में पिछले / अगले लिंक प्रदर्शित करता है. WP-PageNavi पृष्ठ संख्याओं के साथ प्रतिस्थापित करता है.
यह वास्तव में का उपयोग कर एक छोटे से काम के साथ किया जा सकता है
कार्य करता है। इसके कुछ पैरामीटर हैं, इसलिए मैं प्रलेखन पर एक नज़र डालने की सलाह देता हूं.paginate_links ()
कोडेक्स से निम्न उदाहरण दिखाता है कि आप इसे एक डिफ़ॉल्ट लूप में कैसे जोड़ सकते हैं लेकिन इसे कस्टम लूप में जोड़ना एक खिंचाव से ज्यादा नहीं है.
वैश्विक $ wp_query; $ बड़ा = 999999999; // एक असंभावित पूर्णांक इको पेजेट_लिंक (सरणी ('आधार' => str_replace ($ बड़ा, '% #%', esc_url (get_pagenum_link ($ बड़ा))), 'प्रारूप' => '?' #% '%) की आवश्यकता है? , 'वर्तमान' => अधिकतम (1, get_query_var ('पृष्ठांकित)),' कुल '=> $ wp_query-> max_num_pages);
wp_die ()
यह फ़ंक्शन PHP को पूरक करता है मरने ()
समारोह। अंतर यह है कि यह फ़ंक्शन एक सादे पाठ के बजाय एक वर्डप्रेस-स्टाइल HTML प्रदर्शित करेगा। आप PHP के निष्पादन को रोकने के लिए इस फ़ंक्शन का उपयोग कर सकते हैं। आप उदाहरण के लिए प्रदर्शित किए जाने वाले संदेश, शीर्षक और अतिरिक्त तर्क जोड़ सकते हैं:
wp_die ("उफ़, आपके पास", "अनुमति अस्वीकृत" तक पहुंच नहीं है);
has_block ()
संस्करण 5.0 में, वर्डप्रेस ने एक ब्लॉक आधारित संपादक पेश किया, जिसका नाम गुटेनबर्ग था। यह फ़ंक्शन इस बात की पहचान करेगा कि क्या सामग्री में गुटेनबर्ग शामिल है, जिसके साथ समान है has_shortcode ()
समारोह। यह लौट आएगा सच
यदि सामग्री में कोई ब्लॉक है, या है असत्य
यदि यह काम न करें.
wp_set_script_translations ()
चूंकि वर्डप्रेस यूजर इंटरफेस का कई हिस्सा जावास्क्रिप्ट में स्थानांतरित होने जा रहा है, इसलिए जावास्क्रिप्ट में अनुवाद करने योग्य ग्रंथों को पंजीकृत करने के लिए एक सुविधाजनक तरीका की आवश्यकता होती है, जिसे वर्डप्रेस पार्स और समझ सकता है। अपनी स्क्रिप्ट के लिए अनुवादित स्ट्रिंग्स को सेट करने के लिए इस फ़ंक्शन का उपयोग करें। नीचे एक उदाहरण है:
wp_enqueue_script ('my-script', plugins_url ('js / my-script.js', __FILE__)); wp_set_script_translations ('my-script', 'mu-text-domain');
register_block_type ()
वर्डप्रेस 5.0 में एक और प्रमुख कार्य। यह फ़ंक्शन आपको नए वर्डप्रेस संपादक में एक नया ब्लॉक पंजीकृत करने की अनुमति देता है। आपका ब्लॉक नए संपादक में दिखाई देगा और उसे सम्मिलित करेगा .
register_block_type ('my-plugin / new-block', array ('title' => 'New Block', 'icon' => 'megaphone', 'category' => 'विगेट्स', 'render_callback'>> 'render_function_callback') ;));
rest_do_request ()
यह फ़ंक्शन आपको PHP के माध्यम से WordPress REST API समापन बिंदु पर कॉल करने की अनुमति देता है। बहुत उपयोगी है जब आपको REST API से एक आउटपुट प्राप्त करने की आवश्यकता होती है, जिसे संसाधित करने के लिए आप ब्राउज़र (फ्रंट-एंड) साइड के बजाय PHP की ओर आगे प्रक्रिया करेंगे।.
$ अनुरोध = नया WP_REST_Request ('GET', "/ wp / v2 / posts"); $ अनुरोध-> set_header ('X-WP-Nonce', wp_create_nonce ('wp_rest')); $ प्रतिक्रिया = rest_do_request ($ अनुरोध); $ डेटा = 200 === $ प्रतिक्रिया-> get_status ()? $ प्रतिक्रिया-> get_data (): [];
rest_preload_api_request ()
जब वर्डप्रेस में जावास्क्रिप्ट-भारी यूआई का निर्माण होता है, तो आमतौर पर पृष्ठ के भीतर प्रीलोड किए गए प्रारंभिक डेटा के एक सेट की आवश्यकता होती है। यह फ़ंक्शन है जो आपको ऐसा करने की अनुमति देगा। इस समारोह के साथ संयोजन के रूप में इस्तेमाल किया जा रहा है array_reduce
, उदाहरण के लिए.
// सामान्य डेटा प्रीलोड करें। $ preload_paths = array ('/', '/ wp / v2 / type? Reference = edit', '/ wp / v2 / taxonomies; per_page = -1 & reference = edit', '/ wp / v2 / themes? status = active'? ;); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', array ()); wp_add_inline_script ('wp-api-fetch', sprintf ('wp.apiFetch.use (wp.apiFetch.createPreloadingMieldware (% s);), wp_json_encode ($ preload_data)),' के बाद ';
निष्कर्ष
ये केवल कुछ कार्य हैं जो कम-ज्ञात प्रतीत होते हैं कि बाकी। मुझे हर दो महीने में एक नए शानदार समारोह का पता चलता है और मुझे यकीन है कि मेरे डेवलपर मित्र वहां भी हमें आश्चर्यचकित कर सकते हैं.
यदि आपके पास एक पसंदीदा अस्पष्ट फ़ंक्शन या एक फ़ंक्शन है जो उपयोगी होगा लेकिन उपलब्ध नहीं है, तो हमें टिप्पणियों में बताएं!