Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function ordered_product($item_id, $item, $order_id) {
- if (!$item instanceof \WC_Order_Item_Product) {
- return false;
- }
- if (is_int($order_id)) {
- $order = new \WC_Order($order_id);
- } else {
- $order = $order_id;
- }
- do_action( 'woocommerce/cart_loop/start', $item );
- $product = wc_get_product( $item->get_product_id() );
- if( empty( $product ) ) {
- do_action( 'woocommerce/cart_loop/end', $item );
- return false;
- }
- $if_has_course = false;
- if (function_exists('tutor_utils')) {
- $if_has_course = tutor_utils()->product_belongs_with_course($item->get_product_id());
- }
- if ($if_has_course) {
- do_action( 'woocommerce/cart_loop/end', $item );
- return false;
- }
- $new_order = [];
- if (!$order instanceof \WC_Order) {
- do_action( 'woocommerce/cart_loop/end', $item );
- return false;
- }
- $new_order['status'] = 'wc-' . $order->get_status();
- $date = $order->get_date_created();
- $countries = new \WC_Countries();
- $shipping_country = $order->get_billing_country();
- if (empty($shipping_country)) {
- $shipping_country = $order->get_shipping_country();
- }
- if (!empty($shipping_country)) {
- $new_order['country'] = isset($countries->countries[$shipping_country]) ? $countries->countries[$shipping_country] : '';
- $shipping_state = $order->get_shipping_state();
- if (!empty($shipping_state)) {
- $new_order['state'] = isset($countries->states[$shipping_country], $countries->states[$shipping_country][$shipping_state]) ? $countries->states[$shipping_country][$shipping_state] : $shipping_state;
- }
- }
- $new_order['city'] = $order->get_billing_city();
- if (empty($new_order['city'])) {
- $new_order['city'] = $order->get_shipping_city();
- }
- $new_order['ip'] = $order->get_customer_ip_address();
- $product_data = $this->ready_product_data($item->get_data());
- if (!empty($product_data)) {
- $new_order['order_id'] = is_int($order_id) ? $order_id : $order_id->get_id();
- $product = $item->get_product();
- if ( isset($product) && $product->get_type() === 'variation' ) {
- $new_order['var_product_id'] = $item->get_variation_id();
- }
- $new_order['product_id'] = $item->get_product_id();
- $new_order['title'] = strip_tags($product_data['title']);
- $new_order['link'] = $product_data['link'];
- }
- if($date && method_exists($date, 'getTimestamp')){
- $new_order['timestamp'] = $date->getTimestamp();
- }
- else{
- $new_order['timestamp'] = time();
- }
- do_action( 'woocommerce/cart_loop/end', $item );
- return array_merge($new_order, $this->buyer($order));
- }
Advertisement
Comments
-
- \wp-content\plugins\notificationx\includes\Extensions\WooCommerce/WooCommerce.php
Add Comment
Please, Sign In to add comment
Advertisement