Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * WooCommerce:
- * Desactiva métodos de envío específicos los fines de semana y después de las 3:00 pm / 15:00
- */
- add_filter( 'woocommerce_package_rates', 'hide_shipping_method_based_on_day_of_the_week_and_time', 10, 2 );
- function hide_shipping_method_based_on_day_of_the_week_and_time( $rates, $package ) {
- // Establece aquí la zona horaria por defecto (http://php.net/manual/en/timezones.php)
- date_default_timezone_set('Europe/Madrid');
- // Establece aquí los ID de las tarfias de envío
- $shipping_rate_ids = array(
- 'advanced_flat_rate_shipping:12945',
- 'advanced_flat_rate_shipping:12947',
- 'advanced_flat_rate_shipping:12956',
- 'advanced_flat_rate_shipping:12959',
- );
- foreach ( $shipping_rate_ids as $shipping_rate_id ) {
- // Si el ID de la tarifa de envío está en el array anterior...
- if ( array_key_exists( $shipping_rate_id, $rates )
- // ...y son más de las 3:00 pm (15:00) o es fin de semana...
- && ( ( date( 'H' ) >= 15 || in_array( date( 'N' ), [ 6, 7 ] ) ) ) ) {
- // ...se desactiva la tarifa de envío.
- unset( $rates[$shipping_rate_id] );
- }
- }
- return $rates;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement