Woocommerce - जेएस या PHP के माध्यम से प्रोग्राम के अनुसार कार्ट में एक उत्पाद जोड़ें [बंद]


32

मैं साइट के एक छोटे ई-कॉमर्स भाग को सुविधाजनक बनाने के लिए Woocommerce प्लगइन का उपयोग कर रहा हूं और अपने स्वयं के 'ऐड-टू-कार्ट' बटन का उपयोग करने के बजाय कुछ कॉल या फ़ंक्शन के माध्यम से अपने कार्ट में उत्पादों को जोड़ने की आवश्यकता है।

इसके द्वारा मैं मूल रूप से Woocommerce को SKU और उदाहरण के लिए मात्रा भेजना चाहता हूं और कार्ट अपडेट है।

sendToCart('123456', 55);

आदि

मैंने प्रलेखन के माध्यम से देखा है और इस तरह की बात का संदर्भ नहीं मिल सकता है। क्या कोई सुझाव दे सकता है कि मैं इसे कैसे प्राप्त कर सकता हूं?


स्थानीय के रूप में भी बंद मतदान हुआ । आप WooThemes समर्थन की कोशिश की है?
चिप बेनेट

3
@Chip बेनेट मेरे पास हाँ है, वे दुर्भाग्य से शामिल होने के लिए $ 125 डॉलर चार्ज करते हैं। यह Wordpress और Woocommerce - दोनों के ब्रैकेट के अंतर्गत आता है - यहाँ एक वैध टैग है, इसलिए निश्चित रूप से मान्य है? जब तक मैं 'बहुत स्थानीयकृत' गलत समझ रहा हूं?
लैरी बी

इस सवाल का वर्डप्रेस से कोई लेना-देना नहीं है । इसमें केवल WooCommerce Plugin ही शामिल है - प्लगइन कार्यक्षमता और कस्टम प्लगइन कार्य / कोड। मैं ऑफ-टॉपिक के रूप में करीब से मतदान कर सकता था , लेकिन मैं आमतौर पर वाणिज्यिक उत्पादों, या वाणिज्यिक समर्थन विकल्प वाले उत्पादों के बारे में सवालों के लिए स्थानीयकृत का उपयोग करता हूं ।
चिप बेनेट

12
@ChipBennett Woocommerce केवल Wordpress के लिए है, इसलिए शब्दकोष से कोई लेना-देना नहीं है। यदि कोई Woocommerce टैग का उपयोग नहीं करेगा, तो वह कैसे Woocommerce के बारे में कोई प्रश्न पोस्ट नहीं करेगा? किसी भी दर पर मुझे वह उत्तर मिल गया है जो मैं अभी पोस्ट करूँगा अगर किसी और को भी यही समस्या है।
लैरी बी

11
@Garping इस सवाल को पूछने के लिए धन्यवाद, भले ही आपको इसके लिए बकवास का गुच्छा मिला हो। :)
रयान

जवाबों:


35

ठीक है तो यहाँ है कि मैं अंत में इसे कैसे हल किया। एक त्वरित और गंदा उदाहरण, JQuery का उपयोग करता है।

<a id="buy" href="#">Buy this!</a>
    <script>    
       $('#buy').click(function(e) {
          e.preventDefault();
          addToCart(19);
          return false;
       });    

       function addToCart(p_id) {
          $.get('/wp/?post_type=product&add-to-cart=' + p_id, function() {
             // call back
          });
       }
    </script>

यह सिर्फ कार्ट url के लिए AJAX GET अनुरोध करता है

/wp/?post_type=product&add-to-cart=[PRODUCT_ID]

7
यह अब काम नहीं कर रहा है (wc v2.1.12)। एक समाधान मिला और इसे यहाँ
honk31

30

PHP में मैं इसे इस तरह से करने में कामयाब रहा:

global $woocommerce;
$woocommerce->cart->add_to_cart($product_id);

विधि woocommerce / classes / class-wc-cart.php में है:

    /**
     * Add a product to the cart.
     *
     * @param string $product_id contains the id of the product to add to the cart
     * @param string $quantity contains the quantity of the item to add
     * @param int $variation_id
     * @param array $variation attribute values
     * @param array $cart_item_data extra cart item data we want to pass into the item
     * @return bool
     */
    public function add_to_cart( $product_id, $quantity = 1, $variation_id = '', $variation = '', $cart_item_data = array() ) {

3
मैं अजाक्स के माध्यम से उस विधि को कैसे कह सकता हूं?
लुका रेगेलिन

1
@Stratboy Wordpress में AJAX फ़ंक्शंस जोड़ने के अनुशंसित तरीके का उपयोग करके: codex.wordpress.org/AJAX_in_Plugins - मूल रूप से आप वर्डप्रेस xx से पहले php उदाहरण में उत्तर से केवल 3 पंक्तियाँ सम्मिलित करते हैं।
कोडब्राउर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.