从数据库中获取产品的特定数据

时间:2017-03-15 20:35:15

标签: php mysql wordpress woocommerce product

我正在使用WooCommerce,我需要从我的woocommerce数据库中获取数据:

我知道,我可以使用以下代码获得商品的正常价格:

$regPrice = $_product->get_regular_price();

在数据库中,具有常规价格的字段如下所示:_regular_price

我知道折扣在数据库中看起来像这样:_bulkdiscount_discount_1

所以我想,我可以像这样获得$ discount1:

$discount1 = $_product->get_bulkdiscount_discount_1();

但不幸的是,这不起作用。当我尝试使用此代码echo "<p>Discount One = $discount1 </p>";回显$ discount1时,什么都不会回复#34;。

我做错了什么?
这里有没有Woocommerce Cracks谁可以建议我正确的方向?

由于

1 个答案:

答案 0 :(得分:1)

如果您查看class WC_Product,您会看到此WooCommerce产品类包含预定义的方法,例如get_regular_price(),但肯定不是 get_bulkdiscount_discount_1() 。您应该使用新方法扩展此WC_Product类,这是一个复杂的过程。

要从您的woocommerce数据库中获取密钥为'_bulkdiscount_discount_1'的数据,您必须使用带有已定义产品ID的WordPress功能get_post_meta() (如果 $_product 是产品对象实例)

// Be sure to get the product ID (Added compatibility with WC 3+)
$product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;
// echo '<p>Product ID: ' . $product_id . '</p>';

// Get the bulk discount1 from wp_postmeta table for this product ID (post ID)
$discount1 = get_post_meta( $product_id, '_bulkdiscount_discount_1', true );
// Displaying the bulk discount 1
echo '<p>Discount One: ' . $discount1 . '</p>';