mirror of
https://github.com/proelements/proelements.git
synced 2026-04-24 20:40:40 +00:00
v3.33.1
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
namespace ElementorPro\Modules\Woocommerce\Traits;
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit; // Exit if accessed directly
|
||||
}
|
||||
|
||||
trait Product_Id_Trait {
|
||||
|
||||
public function get_product( $product_id = false ) {
|
||||
global $product;
|
||||
|
||||
if ( $this->product_already_queried( $product ) ) {
|
||||
return $product;
|
||||
}
|
||||
|
||||
if ( 'product_variation' === get_post_type() ) {
|
||||
return $this->get_product_variation();
|
||||
}
|
||||
|
||||
$product_data = wc_get_product( $product_id );
|
||||
|
||||
if ( ! $product_data ) {
|
||||
$product_data = wc_get_product();
|
||||
}
|
||||
|
||||
return $product_data;
|
||||
}
|
||||
|
||||
private function product_already_queried( $product ): bool {
|
||||
global $wp_query;
|
||||
|
||||
if ( empty( $wp_query->is_loop_product ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $product instanceof \WC_Product;
|
||||
}
|
||||
|
||||
public function get_product_variation() {
|
||||
return wc_get_product( get_the_ID() );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user