Lat*_*lla 2 php wordpress class object woocommerce
我有这个答案供参考:Woocommerce通过ID获取产品价值 …它与wc_get_product()返回受保护数据的功能有关。
该函数的getter方法在哪里定义?
我如何访问内部受保护的数据wc_get_product()?
这个Answer线程告诉您WC_Product_Factory正在使用该类。可以扩展此类以访问内部的受保护数据wc_get_product()吗?
在wc_get_product()似乎是一个功能,但它是如何返回一个对象?
该wc_get_product( $product_id)函数提供了WC_Product实例对象(来自产品ID),根据产品类型,可以使用所有可用WC_Product方法和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>';
Run Code Online (Sandbox Code Playgroud)
您可以使用将为您提供数据可访问数组的WC_Data方法get_data()来取消保护数据:
// 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>';
Run Code Online (Sandbox Code Playgroud)
对于特定的自定义元数据,可以使用
WC_Data方法get_meta()。因此,例如,如果自定义元键是_custom_height您将使用:Run Code Online (Sandbox Code Playgroud)$custom_product_height = $product->get_meta( '_custom_height' );
Woocommerce API官方文档:
WC_Product 方法清单WC_Product_External 方法清单WC_Product_Grouped 方法清单WC_Product_Simple 方法清单WC_Product_Variable 方法清单WC_Product_Variation 方法清单WC_Data 方法清单| 归档时间: |
|
| 查看次数: |
2398 次 |
| 最近记录: |