sourcecode

WC_Product protected data 접근하기 3

copyscript 2023. 9. 11. 21:59
반응형

WC_Product protected data 접근하기 3

참고할 만한 답변이 있습니다.Woocommerce 아이디로 상품 가치 획득 … 기능에 관한 것입니다.wc_get_product()보호된 데이터를 반환합니다.

해당 함수에 대해 게터 메서드가 정의되는 위치는 어디입니까?
내부의 보호된 데이터에 액세스하려면 어떻게 해야 합니까?wc_get_product()?

Answer 스레드는 다음과 같이 말합니다.WC_Product_Factory클래스가 사용되고 있습니다.이 클래스를 내부의 보호된 데이터에 액세스하도록 확장할 수 있습니까?wc_get_product()?

wc_get_product()함수인 것처럼 보이지만, 어떻게 물체를 반환합니까?

wc_get_product( $product_id)기능이 제공합니다.WC_Product사용 가능한 모든 메서드를 사용하여 데이터에 액세스할 수 있는 instance object(제품 ID에서)WC_Product제품 유형에 따라 하위 항목:

// Get the instance of the WC_Product Object
$product = wc_get_product( $product_id);

// Using `WC_Product` methods examples to get specific related data values:

$product_type  = $product->get_type(); // product Type
$product_id    = $product->get_id(); // product ID
$product_name  = $product->get_name(); // product name
$product_sku   = $product->get_sku(); // product SKU
$product_price = $product->get_price(); // product price

// And so on…

// The raw display of the object protected data (Just for testing)
echo '<pre>'; print_r( $product ); echo '</pre>';

액세스 가능한 데이터 배열을 제공하는 방법을 사용하여 데이터 보호를 해제할 수 있습니다.

// Get the instance of the WC_Product Object
$product = wc_get_product( $product_id);

// Get the accessible array of product properties:
$data = $product->get_data();

// get specific related data values:

$product_id    = $data['id']; // product ID
$product_name  = $data['name']; // product name
$product_sku   = $data['sku']; // product SKU
$product_price = $data['price']; // product price

// And so on…

// The raw display of the unprotected data array (Just for testing)
echo '<pre>'; print_r( $data ); echo '</pre>';

특정 사용자 지정 메타데이터의 경우 메소드를 사용할 수 있습니다. 따라서 사용자 지정 메타키가 예를 들면 다음을 사용합니다.

$custom_product_height = $product->get_meta( '_custom_height' );

Woocommerce API 공식 문서:

언급URL : https://stackoverflow.com/questions/52906452/accessing-wc-product-protected-data-in-woocommerce-3

반응형