2015-05-13 9 views
7

मैं एक आवेदन जो वर्णित करता मुझे वाणिज्य आदेश, आदेश वस्तुओं और मात्रा को लुभाने अपने निर्माण करने के लिए कोशिश कर रहा हूँ,WC_Order get_items() और उनके मात्रा

मैं वहाँ 90% कर रहा हूँ,

function custom_woocommerce_complete_order_sms($order_id) { 
     global $woocommerce; 
     if (!$order_id) 
     return; 
     $order = new WC_Order($order_id); 

     $product_list = ''; 
     $order_item = $order->get_items(); 

     foreach($order_item as $product) { 
      $prodct_name[] = $product['name']; 
     } 

     $product_list = implode(',\n', $prodct_name); 






    require "twilio-php-master/Services/Twilio.php"; 


    $AccountSid = "xxxxxxxxx"; 
    $AuthToken = "xxxxxxxxx"; 

    $client = new Services_Twilio($AccountSid, $AuthToken); 


    $people = array(
     "xxxxxxxxxx" => "Me", 
    ); 


    foreach ($people as $number => $name) { 

     $sms = $client->account->messages->sendMessage(



      "+44xxxxxxxxxx", 

      // the number we are sending to - Any phone number 
      $number, 

      // the sms body 
      "Hey $name, there is a new Order, the order is, $product_list" 
     ); 


    } 

    } 

मेरे समस्या है मुझे नहीं पता कि आइटम मात्रा कैसे प्राप्त करें, उदाहरण के लिए मेरा टेक्स्ट सूची, आइटम 1, आइटम 2, आइटम 3 जैसा दिखता है, मैं इसे आइटम 1 x1, आइटम 2 x2, item3 x3

मैंने कोशिश की और अमूर्त वू वाणिज्य फ़ोल्डर में ईमेल php फ़ाइल में खोदने के लिए यह देखने के लिए कि वे मात्राओं को भेजते समय कैसे करते हैं ईमेल मिला है लेकिन एक छोटे से

भी खो कक्षा में WC_Abstract_Order केवल दूसरी बात मैं मिल सकता है get_item_total जो सभी वस्तुओं की कुल

+0

मैं तुम्हें इस सवाल का जवाब मिल गया लगता है के लिए $ ओ मात्रा जोड़ने के लिए, लेकिन 'var_dump (rder-> get_items()) 'यह देखने के लिए कि लौटा सरणी में क्या उपलब्ध है। – helgatheviking

+1

मुझे var_dump 1 करना चाहिए था, मुझे बहुत समय बचाया होगा, भविष्य की चुनौतियों के लिए अच्छी सलाह – user2389087

+0

यह वास्तव में है। मैं क्या हो रहा है यह देखने के लिए 'var_dump()' बहुत कुछ। एक बेहतर तरीका हो सकता है, लेकिन यह बहुत अच्छी तरह से काम करता है। वापस आने और आपके उत्तर में सुधार के लिए धन्यवाद। – helgatheviking

उत्तर

13

अनुसंधान से आप आदेश आइटम से मात्रा प्राप्त कर सकते हैं रिटर्न है

$product['qty']; 

इसलिए, इस पर पाश करने के लिए आसान था और आइटम नाम (नीचे)

$product_details = array(); 
$order_items = $order->get_items(); 
foreach($order_items as $product) { 
       $product_details[] = $product['name']."x".$product['qty']; 

      } 

      $product_list = implode(',', $product_details); 
+0

क्या यह उत्तर है? कुछ शब्दों को समझाने के लिए यह किसी और के लिए उपयोगी होगा जिसकी एक समान समस्या है। – helgatheviking

+0

बहुत सच है, मेरी माफ़ी, अगर आप यहां देखें -> http://docs.woothemes.com/wc-apidocs/source-class-WC_Abstract_Order.html#1047-1117 आप देख सकते हैं कि एक ['qty'] है निकालने भी कर सकते हैं, मैंने इन दोनों को एक साथ जोड़ा और सरणी में जोड़ा। फिर एक अल्पविराम के साथ imploded, अब पाठ product1x1, product2x6 आदि की तरह दिखता है, जो मैं खोज रहा था – user2389087

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