मेरे पास एक डिजिटल उत्पाद है जो मात्रा और मूल्य द्वारा वर्णित है, लेकिन इसे पूरी तरह निर्दिष्ट करने के लिए 3 और संख्याओं की भी आवश्यकता है (यूनिक्स तिथियां, आदि)। समस्या: मैं इन नंबरों को कार्ट में कैसे प्राप्त करूं?Woocommerce: मैं कार्ट आइटम में मेटाडेटा कैसे जोड़ूं?
जहां तक मेरा, इस संभाल करने के लिए 2 संभव तरीके हैं देख सकते हैं:
- एक उत्पाद विविधता
- एक उत्पाद कस्टम फ़ील्ड
यह रूपों की तरह दिखता है केवल संभाल कर सकते हैं एक सीमित सीमा (यानी लाल/पीला/हरा, एस/एम/एल, आदि) के साथ मूल्य अलग करें, और तिथियों की तरह सामान्य पूर्णांक को संभाल नहीं सकते हैं। यह कस्टम फ़ील्ड छोड़ देता है। मुझे लगता है कि मैं कह रहा हूं कि कस्टम फ़ील्ड उत्पाद पोस्ट पेज पर सामान्य मेटा डेटा हैं, इसलिए मैं उन्हें get_post_meta
और update_post_meta
से संभाल सकता हूं।
इसलिए, यदि मैं कस्टम फ़ील्ड के लिए जाता हूं, तो मैं ऑर्डरिंग के दौरान उत्पाद पृष्ठ फ़ील्ड अपडेट कर दूंगा, और फिर मैं चेकआउट के दौरान फ़ील्ड को वापस पढ़ूंगा, जब WC_Order
बनाया गया है, और फ़ील्ड को नए ऑर्डर में जोड़ें। हालांकि, यह काम नहीं करेगा। मैं उत्पाद पृष्ठ पर मेटाडेटा नहीं बदल सकता, क्योंकि यह उत्पाद सभी ग्राहकों के लिए वैश्विक है, और यह ऑपरेशन अन्य ग्राहकों के साथ हस्तक्षेप करेगा। दूसरे शब्दों में, आप किसी उत्पाद में ऑर्डर-विशिष्ट जानकारी संग्रहीत नहीं कर सकते हैं, इसलिए इनमें से कोई भी विकल्प काम नहीं करेगा।
तो, कैसे मैं अस्थायी उत्पाद मेटाडेटा स्टोर और (WC_Cart
और WC_Order
के बीच यानी।) आदेश और चेकआउट चरणों के बीच इसे पारित करते हैं?
एक विकल्प इसे उपयोगकर्ता मेटाडाटा (या सत्र डेटा के रूप में) के रूप में स्टोर करना होगा, लेकिन एक बेहतर तरीका होना चाहिए - कोई विचार?
'woocommerce_add_order_item_meta' depracated है: https://docs.woothemes.com/wc-apidocs/function-woocommerce_add_order_item_meta.html हो सकता है कि' wc_add_order_item_meta' इस्तेमाल किया जा सकता: https://docs.woothemes.com/wc- apidocs/function-wc_add_order_item_meta.html –
@ HarkályGergő फ़ंक्शन को बहिष्कृत किया गया है, हुक अभी भी उपयोग किया जा सकता है। – user4493177
अब हुक भी बहिष्कृत है। अब woocommerce_new_order_item' का उपयोग किया जाना चाहिए। – Silentdrummer