/**
  * get_order function.
  *
  * @param bool $the_order (default: false)
  * @return WC_Order|bool
  */
 public function get_order($the_order = false)
 {
     global $post;
     if (false === $the_order) {
         $the_order = $post;
     } elseif (is_numeric($the_order)) {
         $the_order = get_post($the_order);
     }
     if (!$the_order || !is_object($the_order)) {
         return false;
     }
     $order_id = absint($the_order->ID);
     $post_type = $the_order->post_type;
     if ($order_type = wc_get_order_type($post_type)) {
         $classname = $order_type['class_name'];
     } else {
         $classname = false;
     }
     // Filter classname so that the class can be overridden if extended.
     $classname = apply_filters('woocommerce_order_class', $classname, $post_type, $order_id);
     if (!class_exists($classname)) {
         $classname = 'WC_Order';
     }
     return new $classname($the_order);
 }
 /**
  * Get order.
  *
  * @param  mixed $order_id (default: false)
  * @return WC_Order|bool
  */
 public static function get_order($order_id = false)
 {
     $order_id = self::get_order_id($order_id);
     if (!$order_id) {
         return false;
     }
     $post_type = get_post_type($order_id);
     if ($order_type = wc_get_order_type($post_type)) {
         $classname = $order_type['class_name'];
     } else {
         $classname = false;
     }
     // Filter classname so that the class can be overridden if extended.
     $classname = apply_filters('woocommerce_order_class', $classname, $post_type, $order_id);
     if (!class_exists($classname)) {
         return false;
     }
     try {
         return new $classname($order_id);
     } catch (Exception $e) {
         return false;
     }
 }