वर्डप्रेस: ​​आपके चाइल्ड थीम में पेरेंट थीम से शोर्टकोड ओवरराइट करें

वर्डप्रेस एपीआई

खैर, यह काफी समय हो गया है क्योंकि मैंने वर्डप्रेस में प्रोग्रामिंग के कुछ सुझाव साझा किए हैं। हाल ही में, मैं अपने सभी ग्राहकों के लिए कोड तैनात करने वाली पीठ पर वापस आ गया हूं और चीजों के स्विंग में वापस आना मजेदार रहा है। आपने पूरे साइट पर नए मार्केटिंग व्हाइटपैप इंटीग्रेशन को देखा होगा - जो कि काफी महत्वपूर्ण था मजेदार परियोजना!

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

इस वजह से, हमें किसी ईवेंट को पंजीकृत करने के लिए एंकर टेक्स्ट पर एक ऑनक्लिक ईवेंट जोड़ने की आवश्यकता है। यहाँ यह है कि यह कैसा दिख सकता है:

<a href="https://highbridgeसलाहकार.कॉम" वर्ग = "बटन नीला माध्यम" ऑनक्लिक = "गा ('भेजें', 'घटना', 'बटन', 'क्लिक', 'होम बटन');"> होम बटन

बेशक, समस्या यह है कि हमारी जगह में एक शोर्ट है मूल विषय और हम एक मूल विषय को संपादित नहीं करना चाहते हैं। और, चूँकि शोर्टकोड पूरे साइट पर कंटेंट पर तैनात है, इसलिए हम एक नया शोर्ट भी नहीं बनाना चाहते हैं।

समाधान बहुत चालाक है। वर्डप्रेस एपीआई (API) आपको शोर्ट निकालने की अनुमति देता है! तो, हमारे बाल विषय में, हम शोर्ट को हटा सकते हैं, फिर इसे हमारे नए शोर्ट फ़ंक्शन से बदल सकते हैं:

add_action ('after_setup_theme', 'calling_child_theme_setup');
function calling_child_theme_setup () {remove_shortcode ('old_button_function_in_parent_theme'); add_shortcode ('बटन', 'new_button_function_in_child_theme'); }
फंक्शन new_button_function_in_child_theme ($ atts, $ content = null) {... आपका नया शोर्ट यहां है ...}

मेरे नए बटन फ़ंक्शन में (मेरे चाइल्ड थीम के फंक्शन्स.php में), मैं एक शोर्ट घटना पर एक डायनामिक ईवेंट को जोड़ने के लिए शोर्ट फ़ंक्शन को फिर से लिखता हूं। आउटपुट खूबसूरती से काम करता है और अब Google Analytics में नज़र रख रहा है!

तुम्हें क्या लगता है?

यह साइट स्पैम को कम करने के लिए अकिस्मेट का उपयोग करती है। जानें कि आपका डेटा कैसे संसाधित किया जाता है.