जोड़ने के लिए वर्डप्रेस शोर्ट का उपयोग करें मैं एक साधारण वर्डप्रेस प्लगइन लिख रहा हूं जो शोर्ट का उपयोग करता है। मैं उस पृष्ठ को चाहता हूं जिसमें विशिष्ट <meta>
टैग होने के लिए शोर्ट शामिल है। क्या यह संभव है? और यदि हां, तो क्या ऐसा करने का एक शानदार तरीका है?<meta> टैग
मुझे पता है कि मैं <meta>
टैग wp_head
हुक के साथ जोड़ सकता हूं, लेकिन मैं मेटा टैग सामग्री प्लगइन द्वारा उत्पादित एक स्ट्रिंग से मेल खाना चाहता हूं। मैं सभी कोड हेडर में ले जा सकता हूं, लेकिन फिर मुझे यकीन नहीं है कि इसे बाद में शोर्ट से कैसे संदर्भित किया जाए। दूसरे शब्दों में, जब मैं फ़िल्टर के साथ <head>
में एक चर घोषित करता हूं, तो यह क्लास विधियों के लिए उपलब्ध नहीं है जिन्हें मैं शोर्ट के साथ बुला रहा हूं।
कोई विचार?
अद्यतन:
एक अच्छा समाधान प्रस्तावित किया गया था, जिसमें शोर्ट के लिए हैंडलर समारोह wp_head हुक करने के लिए कार्रवाई को जोड़ता है:
add_shortcode('fakeshortcode', 'fakeshortcode_handler');
function fakeshortcode_handler() {
function add_meta_tags() {
//echo stuff here that will go in the head
}
add_action('wp_head', 'add_meta_tags');
}
यह प्रफुल्लित है, लेकिन समस्या यह है कि wp_head से पहले होता है शोर्ट को पार्स किया जाता है और कार्रवाई जोड़ता है (इसलिए अकेले कोड के साथ सिर में कुछ भी नहीं जोड़ा जाता है)। इसे काम करने के लिए, मैंने this post में समाधान उधार लिया। यह मूल रूप से एक फ़ंक्शन है जो पोस्ट में "आगे दिखता है" और देखता है कि कोई शोर्ट आ रहा है या नहीं। यदि ऐसा है, तो आईटी add_action('wp_head'...
जोड़ता है।
संपादित करें: मैंने चर के पारित होने के बारे में मेरे अनुवर्ती प्रश्न को हटा दिया। यह एक नया प्रश्न है here।
यह अच्छा है। मुझे एहसास नहीं हुआ कि wp_head क्रियाएं होने से पहले शोर्ट को पार्स किया गया था। मैं इसे तुरंत आज़मा दूंगा। यदि आप सही हैं तो मुझे यकीन है कि यह मेरी समस्या को अच्छी तरह से हल करेगा! – emersonthis
मेरा संदेह सही था। शोर्ट को पार्स किए जाने से पहले wp_head क्रियाएं ट्रिगर होती हैं। तो यह समाधान बिल्कुल वर्णन के अनुसार काम नहीं करता है। हालांकि, दृष्टिकोण को संशोधित किया जा सकता है ... [ऊपर मेरा अपडेट देखें] – emersonthis
क्षमा करें एमर्सन, मैंने गलत समझा कि आप क्या करने की कोशिश कर रहे थे।इसे पहले निष्पादित नहीं किया गया है। इसलिए, मैंने इसे ठीक से काम करने के लिए अपना समाधान संपादित किया। – Maxime