sql >> Databasteknik >  >> RDS >> Mysql

Få prisinformation för en bokningsbar produkt med datumintervall i WooCommerce

För WooCommerce-bokningar har du allt som behövs i WC_Product_Booking objekt:

// Get an instance of the WC_Product object (Here a WC_Product_Booking object)
$product = wc_get_product( $product_id );

// Get the base price
$base_price = $product->get_price();

// Get all related protected data in an array
$product_data = $product->get_data();

// Get the additional pricing data for this bookable product (array)
$product_pricing = $product_data['pricing'];

// iterating through each pricing row
foreach($product_pricing as $key => $princing ){
    $pricing_type           = $princing['type'];
    $pricing_base_cost      = $princing['base_cost']; // <= this is the price you are looking for
    $pricing_base_modifier  = $princing['base_modifier'];
    $pricing_cost           = $princing['cost']; 
    $pricing_modifier       = $princing['modifier'];
    $pricing_from           = $princing['from'];
    $pricing_to             = $princing['to'];
}

// Raw pricing data output (for tests)
echo '<pre>'; print_r($product_pricing); echo '</pre>';
';

Nu i databasen kan du hitta denna data i wp_post_meta tabell under _wc_booking_pricing meta_key … Så från produkt-ID:t kan du också komma åt det med:

$pricing_data = get_post_meta( $product_id, '_wc_booking_pricing', false);

// Raw pricing data output (for tests)
echo '<pre>'; print_r($product_pricing); echo '</pre>';
';

  1. Databasdesign:3 typer av användare, separat eller en tabell?

  2. Anpassa Spotlight Cloud Alarms

  3. Användning av FLASHBACK i Oracle

  4. PDO-förberedda uttalanden IN-klausul med namngivna platshållare fungerar inte som förväntat