Is there any way to get on_sale_from
and on_sale_to
dates for WooCommerce variable products in an array using PHP?
The highlighted red boxes in this screenshot:
Advertisement
Answer
Use the following to get the variations on_sale_from
and on_sale_to
dates for a variable product:
JavaScript
x
$sale_dates = array(); // Initializing
if( $product->is_type('variable') ) {
$variation_ids = $product->get_visible_children();
foreach( $variation_ids as $variation_id ) {
$variation = wc_get_product( $variation_id );
if ( $variation->is_on_sale() ) {
$date_on_sale_from = $variation->get_date_on_sale_from();
$date_on_sale_to = $variation->get_date_on_sale_to();
if( ! empty($date_on_sale_from) || ! empty($date_on_sale_to) ) {
$sale_dates[$variation_id] = array(
'from' => $date_on_sale_from,
'to' => $date_on_sale_to,
);
}
}
}
// Array row output
print_r($sale_dates);
}