21

मैं WooCommerce के लिए नया हूँ। वैसे भी, मैं अपनी खुद की थीम बनाना चाहता हूं, इसलिए मैंने दिशानिर्देशों का पालन किया और कोर टेम्पलेट फ़ाइलों में /mywordpresstheme/woocommerce/ पर प्रतिलिपि बनाई।WooCommerce - मैं हुक द्वारा उत्पन्न HTML को कहां संपादित कर सकता हूं?

यह सब बहुत अच्छा काम करता है और मैं टेम्पलेट को ठीक से संपादित कर रहा हूं।

हालांकि, WooCommerce में जिस तरह से हुक और क्रियाएं काम करती हैं, वह मुझे परेशान कर रही है और मैं काम नहीं कर सकता जहां जेनरेट किए गए HTML के कुछ हिस्सों से आ रहे हैं।

<?php 
/* 
* woocommerce_before_shop_loop_item_title hook 
* 
* @hooked woocommerce_show_product_loop_sale_flash - 10 
* @hooked woocommerce_template_loop_product_thumbnail - 10 
*/ 
do_action('woocommerce_before_shop_loop_item_title'); 
?> 

लेकिन यह क्या है:

उदाहरण के लिए, content-product.php में, वहाँ एक हुक कि छवि हो जाता है? यह कहां से आता है?? क्या एक्शन नाम में कोई सुराग है कि मैं इसे संपादित करने के उद्देश्य से जेनरेट किए जा रहे HTML का पता लगा सकता हूं?

मैंने WooCommerce पर 'हुक और फ़िल्टर' पर आलेख पढ़ा है, लेकिन यह मामले के आधार पर इन्हें कहां या कैसे बदला जाए, इसके बारे में कुछ भी नहीं बताता है।

किसी भी मदद की सराहना की जाएगी।

मैं इस प्रणाली के लिए नया हूं और मुझे यकीन है कि मैं बस कुछ स्पष्ट दिख रहा हूं।

धन्यवाद, माइकी।

उत्तर

50

लेकिन यह क्या है? यह कहां से आता है?? क्या एक्शन नाम में कोई संकेत है कि मैं इसे संपादित करने के उद्देश्य के लिए जेनरेट किए जा रहे HTML का पता लगा सकता हूं?

यह action hook है। यह प्रति कहने से कुछ भी नहीं कर रहा है, लेकिन hook टिप्पणियों में सूचीबद्ध फ़ंक्शंस और इसलिए यह फ़ंक्शन ट्रिगर होने पर चलाया जाता है। यह टिप्पणियों में कहता है कि woocommerce_template_loop_product_thumbnail फ़ंक्शन थंबनेल प्राप्त करने के लिए ज़िम्मेदार है। आप इस समारोह को Woocommerce प्लगइन के अंदर पा सकते हैं। मैं उस वाक्यांश के लिए पूरे फ़ोल्डर को खोजने के लिए सब्लिमे टेक्स्ट एडिटर का उपयोग करता हूं (हालांकि मुझे लगता है कि अन्य लोग भी ऐसा करेंगे) और यह मुझे बताता है कि यह वास्तव में कौन सी फाइल में है। इस मामले में इसे एक प्लग करने योग्य फ़ंक्शन कहा जाता है और इसमें स्थित है woocommerce-template.php। (अब यह संस्करण में WC-टेम्पलेट hooks.php कहा जाता है 2.1+)

एक प्लगेबल समारोह का मतलब है कि आप अपने विषय के functions.php में एक ही नाम के साथ समारोह का एक नया संस्करण को परिभाषित

function woocommerce_template_loop_product_thumbnail(){ 
    echo "apple"; 
} 

यदि आप उपरोक्त को अपने functions.php में रखते हैं तो Woo के woocommerce_template_loop_product_thumbnail() के बजाय आप केवल सेब शब्द देखेंगे।

मैं WooCommerce पर 'हुक और फिल्टर' पर लेख पढ़ लिया है, लेकिन यह के बारे में जहां या कैसे के लिए दर मामले के आधार एक मामले पर इन बदलने के लिए कुछ भी नहीं बताते हैं।

आप अपने विषय के कार्यों में सभी बदलाव करेंगे। Php और मामले के आधार पर मामला आवश्यक नहीं है। सभी हुक और फिल्टर वही व्यवहार करते हैं। उस ने कहा, वे सीखने की सबसे आसान बात नहीं हैं इसलिए अपने साथ धैर्य रखें।मैंने फिल्टर को अपने सिर को लपेटने के लिए विशेष रूप से कठिन पाया।

अनावश्यक आत्म-प्रचार के स्थान पर मैंने basics of WordPress hooks and filters पर लेखों की एक श्रृंखला लिखी (एक लेख कहता है कि यह थीमैटिक हुक के लिए है, लेकिन एक हुक एक हुक है!) ये सभी चीजें हैं जिन्हें मैं चाहता हूं कि लोगों ने मुझे बताया था मेरे वर्डप्रेस कैरियर की शुरुआत में।

+1

इसके लिए धन्यवाद, यह मुझे सही दिशा में घुमाने में मदद मिली है। मेरी इच्छा है कि WooCommerce बेहतर दस्तावेज़ थे ... वे ... दुर्लभ हैं, सबसे अच्छा! एक बार फिर धन्यवाद। –

+0

आपका स्वागत है। यदि आपने उनसे कुछ खरीदा है तो वे आम तौर पर समर्थन के साथ बहुत अच्छे हैं। – helgatheviking

+0

ग्रेट उत्तर, बहुत धन्यवाद – alemur

संबंधित मुद्दे