WC_Product_Factory::get_product PHP Method

get_product() public method

Get a product.
public get_product ( mixed $product_id = false, array $deprecated = [] ) : WC_Product | boolean
$product_id mixed (default: false)
$deprecated array
return WC_Product | boolean Product object or null if the product cannot be loaded.
    public function get_product($product_id = false, $deprecated = array())
    {
        $product_id = $this->get_product_id($product_id);
        if (!$product_id) {
            return false;
        }
        $product_type = $this->get_product_type($product_id);
        $classname = $this->get_classname_from_product_type($product_type);
        // backwards compat filter
        $post_type = 'variation' === $product_type ? 'product_variation' : 'product';
        $classname = apply_filters('woocommerce_product_class', $classname, $product_type, $post_type, $product_id);
        if (!$classname) {
            return false;
        }
        if (!class_exists($classname)) {
            $classname = 'WC_Product_Simple';
        }
        try {
            return new $classname($product_id);
        } catch (Exception $e) {
            return false;
        }
    }

Usage Example

 public static function get_test_product()
 {
     $products = get_posts(array('post_type' => 'product'));
     if (count($products) == 0) {
         TaxJar_Helper_Product::create_test_product();
         $products = get_posts(array('post_type' => 'product'));
     }
     $factory = new WC_Product_Factory();
     return $factory->get_product($products[0]->ID);
 }
All Usage Examples Of WC_Product_Factory::get_product