PluginProbe ʕ •ᴥ•ʔ
PiWeb Delivery & Pickup Date Time for WooCommerce / 3.0.49.91
PiWeb Delivery & Pickup Date Time for WooCommerce v3.0.49.91
3.0.63 3.0.62 3.0.61 3.0.60 3.0.49.49 3.0.49.6 3.0.49.60 3.0.49.61 3.0.49.62 3.0.49.63 3.0.49.64 3.0.49.66 3.0.49.67 3.0.49.69 3.0.49.7 3.0.49.70 3.0.49.72 3.0.49.73 3.0.49.74 3.0.49.76 3.0.49.77 3.0.49.79 3.0.49.9 3.0.49.90 3.0.49.91 3.0.49.92 3.0.49.93 3.0.49.94 3.0.49.96 3.0.49.97 3.0.49.99 trunk 1.0 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 2.9.17 3.0.47 3.0.49 3.0.49.1 3.0.49.10 3.0.49.11 3.0.49.12 3.0.49.13 3.0.49.16 3.0.49.17 3.0.49.19 3.0.49.2 3.0.49.20 3.0.49.21 3.0.49.22 3.0.49.23 3.0.49.24 3.0.49.26 3.0.49.27 3.0.49.29 3.0.49.3 3.0.49.30 3.0.49.31 3.0.49.32 3.0.49.33 3.0.49.34 3.0.49.36 3.0.49.37 3.0.49.39 3.0.49.4 3.0.49.40 3.0.49.41 3.0.49.42 3.0.49.43 3.0.49.44 3.0.49.46 3.0.49.47
pi-woocommerce-order-date-time-and-type / public / class-shipping-method.php
pi-woocommerce-order-date-time-and-type / public Last commit date
css 4 months ago js 4 months ago class-css.php 4 months ago class-date.php 4 months ago class-delivery-type.php 4 months ago class-display-field.php 4 months ago class-extra-message.php 4 months ago class-js.php 4 months ago class-main.php 4 months ago class-myaccount.php 4 months ago class-order.php 4 months ago class-pickup-location.php 4 months ago class-shipping-method.php 4 months ago class-time-range.php 4 months ago class-time-slot.php 4 months ago class-time.php 4 months ago class-validate.php 4 months ago class-woo-app.php 4 months ago
class-shipping-method.php
65 lines
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) exit;
3 class pisol_dtt_shipping_method{
4
5 function __construct(){
6
7 add_filter( 'woocommerce_product_needs_shipping',array(__CLASS__, 'productNeedsShipping'), PHP_INT_MAX);
8 add_filter( 'woocommerce_cart_needs_shipping_address', array(__CLASS__, 'productNeedsShipping'), PHP_INT_MAX);
9 add_filter( 'woocommerce_customer_taxable_address', array($this, 'shopBasedTaxableAddress'));
10
11 /**
12 * This sill disable the Woocommerce given option of switching between pickup and delivery on checkout page
13 */
14 add_filter( 'option_woocommerce_pickup_location_settings', array(__CLASS__, 'disableBlockPickupDeliverySwitcher'), 20);
15 }
16
17 /**
18 * When pickup is selected we do the Tax calculation based on the shop
19 * base address
20 */
21 function shopBasedTaxableAddress($location){
22 if(self::disabled()) return $location;
23
24 $type = pi_dtt_delivery_type::getType();
25
26 if($type != 'pickup') return $location;
27
28 $country = WC()->countries->get_base_country();
29 $state = WC()->countries->get_base_state();
30 $postcode = WC()->countries->get_base_postcode();
31 $city = WC()->countries->get_base_city();
32 return array( $country, $state, $postcode, $city );
33 }
34
35 static function productNeedsShipping($val){
36
37 if(self::disabled()) return $val;
38
39 $type = pi_dtt_delivery_type::getType();
40 if($type == 'pickup'){
41 return false;
42 }
43
44 return $val;
45 }
46
47 static function disabled(){
48 return apply_filters('pisol_disable_dtt_completely',false);
49 }
50
51 static function disableBlockPickupDeliverySwitcher( $value ) {
52 if ( is_admin() ) {
53 return $value;
54 }
55
56 // Force-disable pickup dynamically
57 if(is_array($value)){
58 $value['enabled'] = 'no';
59 }
60
61 return $value;
62 }
63 }
64
65 new pisol_dtt_shipping_method();