Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function schedule_price_changes() {
- // Fechas de activación y desactivación
- $activate_date = '2025-08-28 07:00:00'; //
- $deactivate_date = '2025-10-01 06:55:00'; //
- // Lista de productos
- $products = [
- [ 'product_id' => 5840, 'sale_price' => 87, 'apply_changes' => false ],//
- [ 'product_id' => 14559, 'sale_price' => 87, 'apply_changes' => false ],//
- [ 'product_id' => 5841, 'sale_price' => 87, 'apply_changes' => false ],//
- [ 'product_id' => 14653, 'sale_price' => 87, 'apply_changes' => false ],//
- [ 'product_id' => 5846, 'sale_price' => 101, 'apply_changes' => true ],//
- [ 'product_id' => 14706, 'sale_price' => 101, 'apply_changes' => true ],//
- [ 'product_id' => 5847, 'sale_price' => 99, 'apply_changes' => false ],//
- [ 'product_id' => 14657, 'sale_price' => 99, 'apply_changes' => false ],//
- [ 'product_id' => 5848, 'apply_changes' => false ],//
- [ 'product_id' => 5849, 'sale_price' => 168, 'apply_changes' => false ],//
- [ 'product_id' => 5850, 'sale_price' => 168, 'apply_changes' => false ],//
- [ 'product_id' => 5851, 'sale_price' => 168, 'apply_changes' => false ],//
- [ 'product_id' => 14728, 'apply_changes' => false ],//
- [ 'product_id' => 14748, 'sale_price' => 168, 'apply_changes' => false ],//
- [ 'product_id' => 14749, 'sale_price' => 168, 'apply_changes' => false ],//
- [ 'product_id' => 14750, 'sale_price' => 168, 'apply_changes' => false ],//
- [ 'product_id' => 5852, 'sale_price' => 113, 'apply_changes' => false ], //
- [ 'product_id' => 14710, 'sale_price' => 113, 'apply_changes' => false ],//
- [ 'product_id' => 5845, 'sale_price' => 19, 'apply_changes' => false ], //
- [ 'product_id' => 14751, 'sale_price' => 19, 'apply_changes' => false ], //
- ];
- // Programar eventos para productos activos
- foreach ($products as $product) {
- if (!empty($product['apply_changes'])) {
- $pid = $product['product_id'];
- if (!wp_next_scheduled("activate_price_$pid")) {
- wp_schedule_single_event(strtotime($activate_date), "activate_price_$pid", [$product]);
- }
- if (!wp_next_scheduled("deactivate_price_$pid")) {
- wp_schedule_single_event(strtotime($deactivate_date), "deactivate_price_$pid", [$product]);
- }
- add_action("activate_price_$pid", 'apply_sale_price', 10, 1);
- add_action("deactivate_price_$pid", 'remove_sale_price', 10, 1);
- }
- }
- }
- add_action('init', 'schedule_price_changes');
- // Aplicar precio de oferta
- function apply_sale_price($product) {
- $wc_product = wc_get_product($product['product_id']);
- if ($wc_product && isset($product['sale_price'])) {
- $wc_product->set_sale_price($product['sale_price']);
- $wc_product->save();
- }
- }
- // Restaurar precio normal
- function remove_sale_price($product) {
- $wc_product = wc_get_product($product['product_id']);
- if ($wc_product) {
- $wc_product->set_sale_price('');
- $wc_product->set_price($wc_product->get_regular_price());
- $wc_product->save();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment