Shop now and enjoy free delivery on orders above Rs. 20,000 | 5% tax will be applied to all Cash on Delivery (COD) transactions.
Shopping Cart
Shopping Cart
Sale!

Heat Cure Liquid 500ml

Original price was: 1,000₨.Current price is: 750₨.

Availability: 21 in stock

Unit : BTL
Brand : GreenTech
SKU A1561 Category Tag Brand:

/**
* ============================================================
* CRASH CRUMB – KARACHI DELIVERY SYSTEM
* COMPLETE REPLACEMENT VERSION
*
* WooCommerce + Storefront
*
* IMPORTANT:
* 1. Disable/delete ALL previous delivery snippets first.
* 2. Paste this whole code into Code Snippets.
* 3. DO NOT add array(
‘areas’ => array(
‘Gulshan-e-Iqbal (All Blocks)’ => 200,
),
),

/* =========================
* ZONE B
* ========================= */
‘Zone B’ => array(
‘areas’ => array(
‘Gulistan-e-Johar (Blocks 7, 8, 9, 10)’ => 300,

‘Askari 4’ => 250,
‘Gulshan-e-Jamal’ => 250,

‘Scheme 33 – Jamali Pull’ => 300,
‘Safoora’ => 300,
‘Gulzar-e-Hijri’ => 300,

‘AOHS’ => 300,
‘DOHS’ => 300,
‘KDA Officers Society’ => 300,

‘FB Area (All Blocks)’ => 250,
),
),

/* =========================
* ZONE C
* ========================= */
‘Zone C’ => array(
‘areas’ => array(
‘NHS Karsaz (All Phases)’ => 300,
‘Aga Khan Hospital’ => 300,
‘Liaquat National Hospital’ => 300,

‘Bahadurabad’ => 250,

‘Saadi Town’ => 300,
‘Airport’ => 300,

‘Malir Cantt’ => 400,
‘Malir’ => 500,

‘North Nazimabad (All Blocks)’ => 350,

‘Bufferzone (All Sectors)’ => 300,

‘Shadman Town (All Sectors)’ => 450,

‘Nazimabad (All Blocks)’ => 350,

‘Liaquatabad’ => 300,
),
),

/* =========================
* ZONE D
* ========================= */
‘Zone D’ => array(
‘areas’ => array(
‘Al Hilal Society’ => 400,
‘PIB Colony’ => 400,
‘Garden East’ => 400,
‘Guru Mandir’ => 400,

‘Jamshed Road’ => 300,
‘Kashmir Road’ => 300,
‘Lines Area’ => 300,

‘Sindhi Muslim Society’ => 300,

‘PECHS (All Blocks)’ => 350,

/* Same area/rate as Zone C */
‘Bahadurabad’ => 250,
‘Sharfabad’ => 250,

‘M. Ali Society’ => 300,

‘KDA Scheme 1’ => 400,
‘Falcon Complex’ => 400,
‘Dadabhai Town’ => 400,

‘KECHS (All Blocks)’ => 350,

‘Mehmoodabad’ => 400,

‘Shahrah-e-Faisal (up to FTC)’ => 400,

‘Shah Faisal Colony’ => 450,

‘Gulshan-e-Maymar’ => 500,

‘North Karachi’ => 450,
‘Pak Colony’ => 450,
‘Garden West’ => 450,
‘Saddar’ => 450,
‘Civil Hospital’ => 450,
‘I.I. Chundrigar Road’ => 450,
‘Bazatta Line’ => 450,
‘Avari Tower’ => 450,
‘Manzoor Colony’ => 450,
‘PIDC’ => 450,
‘Akhter Colony’ => 450,
‘Kashmir Colony’ => 450,
),
),

/* =========================
* ZONE E
* ========================= */
‘Zone E’ => array(
‘areas’ => array(
‘DHA (All Phases)’ => 500,
‘Clifton (All Blocks)’ => 600,
‘Frere Town’ => 500,
‘Bath Island’ => 500,
‘Civil Lines’ => 500,
‘Jinnah Hospital’ => 500,
‘Kharadar’ => 500,
‘Tower’ => 500,
‘Lyari’ => 500,
‘Lalazar’ => 500,
‘SITE Area / Metroville’ => 500,
),
),

/* =========================
* ZONE F
* ========================= */
‘Zone F’ => array(
‘areas’ => array(
‘Korangi’ => 650,
‘Landhi’ => 650,
‘Baldia Town’ => 650,
‘Orangi Town’ => 650,
),
),
);
}

/* ============================================================
* 2. GET DELIVERY PRICE
* ============================================================ */

function cc_get_delivery_price( $area ) {

if ( empty( $area ) ) {
return false;
}

$areas = cc_delivery_areas();

foreach ( $areas as $zone ) {

if ( isset( $zone[‘areas’][ $area ] ) ) {
return (float) $zone[‘areas’][ $area ];
}
}

return false;
}

/* ============================================================
* 3. GET ALL DELIVERY OPTIONS
* ============================================================ */

function cc_get_delivery_options() {

$options = array();

$areas = cc_delivery_areas();

foreach ( $areas as $zone ) {

foreach ( $zone[‘areas’] as $area => $price ) {

$options[ $area ] = (float) $price;
}
}

return $options;
}

/* ============================================================
* 4. ADD DELIVERY CHARGE TO WOOCOMMERCE TOTAL
* ============================================================ */

add_action(
‘woocommerce_cart_calculate_fees’,
‘cc_add_delivery_charge_to_cart’,
20
);

function cc_add_delivery_charge_to_cart( $cart ) {

if ( is_admin() && ! defined( ‘DOING_AJAX’ ) ) {
return;
}

if ( ! function_exists( ‘WC’ ) ) {
return;
}

if ( ! WC()->session ) {
return;
}

$area = WC()->session->get( ‘cc_delivery_area’ );

if ( empty( $area ) ) {
return;
}

$delivery_charge = cc_get_delivery_price( $area );

if ( false === $delivery_charge ) {
return;
}

if ( $delivery_charge <= 0 ) { return; }/* * This creates a real WooCommerce fee. * Therefore it will also become part of the order total. */$cart->add_fee(
‘Delivery Charges’,
$delivery_charge,
false
);
}

/* ============================================================
* 5. CART DELIVERY AREA
* ============================================================ */

add_action(
‘woocommerce_before_cart’,
‘cc_cart_delivery_area’,
10
);

function cc_cart_delivery_area() {

if ( ! function_exists( ‘WC’ ) || ! WC()->session ) {
return;
}

$selected_area = WC()->session->get(
‘cc_delivery_area’
);

$options = cc_get_delivery_options();

echo ‘

‘;

echo ‘

Delivery Area

‘;

echo ‘‘;

echo ‘‘;

echo ‘

‘;

if ( ! empty( $selected_area ) ) {

$price = cc_get_delivery_price(
$selected_area
);

if ( false !== $price ) {

echo ‘Delivery Charges: PKR ‘;

echo esc_html(
number_format_i18n( $price )
);

echo ‘‘;
}
}

echo ‘

‘;

echo ‘

‘;

echo ‘

‘;
}

/* ============================================================
* 6. CHECKOUT DELIVERY AREA
* ============================================================ */

add_action(
‘woocommerce_after_order_notes’,
‘cc_checkout_delivery_area’,
10
);

function cc_checkout_delivery_area( $checkout ) {

$options = array(
” => ‘Select your delivery area’,
);

$delivery_options = cc_get_delivery_options();

foreach ( $delivery_options as $area => $price ) {

$options[ $area ] =
$area .
‘ – PKR ‘ .
number_format_i18n( $price );
}

$selected_area = ”;

if ( function_exists( ‘WC’ ) && WC()->session ) {

$selected_area = WC()->session->get(
‘cc_delivery_area’
);
}

echo ‘

‘;

echo ‘

Delivery Area

‘;

woocommerce_form_field(
‘cc_delivery_area’,
array(
‘type’ => ‘select’,
‘class’ => array(
‘form-row-wide’,
‘cc-delivery-field’,
),
‘label’ => ‘Select your area’,
‘required’ => true,
‘options’ => $options,
),
$selected_area
);

echo ‘

‘;

if ( ! empty( $selected_area ) ) {

$price = cc_get_delivery_price(
$selected_area
);

if ( false !== $price ) {

echo ‘Delivery Charges: PKR ‘;

echo esc_html(
number_format_i18n( $price )
);

echo ‘‘;
}
}

echo ‘

‘;

echo ‘

‘;

echo ‘

‘;
}

/* ============================================================
* 7. AJAX – SAVE DELIVERY AREA
* ============================================================ */

add_action(
‘wp_ajax_cc_save_delivery_area’,
‘cc_ajax_save_delivery_area’
);

add_action(
‘wp_ajax_nopriv_cc_save_delivery_area’,
‘cc_ajax_save_delivery_area’
);

function cc_ajax_save_delivery_area() {

check_ajax_referer(
‘cc_delivery_nonce’,
‘nonce’
);

if ( ! function_exists( ‘WC’ ) || ! WC()->session ) {

wp_send_json_error(
array(
‘message’ => ‘WooCommerce session not available.’,
)
);
}

$area = isset( $_POST[‘area’] )
? sanitize_text_field(
wp_unslash(
$_POST[‘area’]
)
)
: ”;

/* Customer cleared area */

if ( empty( $area ) ) {

WC()->session->__unset(
‘cc_delivery_area’
);

if ( WC()->cart ) {
WC()->cart->calculate_totals();
}

wp_send_json_success(
array(
‘area’ => ”,
‘charge’ => 0,
)
);
}

/* Validate area */

$charge = cc_get_delivery_price(
$area
);

if ( false === $charge ) {

wp_send_json_error(
array(
‘message’ => ‘Invalid delivery area.’,
)
);
}

/* Save area in WooCommerce session */

WC()->session->set(
‘cc_delivery_area’,
$area
);

/* Recalculate totals */

if ( WC()->cart ) {
WC()->cart->calculate_totals();
}

wp_send_json_success(
array(
‘area’ => $area,
‘charge’ => $charge,
)
);
}

/* ============================================================
* 8. CHECKOUT – SAVE AREA DURING CHECKOUT UPDATE
* ============================================================ */

add_action(
‘woocommerce_checkout_update_order_review’,
‘cc_checkout_update_delivery_area’
);

function cc_checkout_update_delivery_area( $post_data ) {

if (
! function_exists( ‘WC’ ) ||
! WC()->session
) {
return;
}

parse_str(
$post_data,
$data
);

if ( isset( $data[‘cc_delivery_area’] ) ) {

$area = sanitize_text_field(
wp_unslash(
$data[‘cc_delivery_area’]
)
);

if ( ! empty( $area ) ) {

$price = cc_get_delivery_price(
$area
);

if ( false !== $price ) {

WC()->session->set(
‘cc_delivery_area’,
$area
);
}

} else {

WC()->session->__unset(
‘cc_delivery_area’
);
}
}
}

/* ============================================================
* 9. REQUIRE DELIVERY AREA BEFORE ORDER
* ============================================================ */

add_action(
‘woocommerce_checkout_process’,
‘cc_require_delivery_area’
);

function cc_require_delivery_area() {

$area = isset( $_POST[‘cc_delivery_area’] )
? sanitize_text_field(
wp_unslash(
$_POST[‘cc_delivery_area’]
)
)
: ”;

if ( empty( $area ) ) {

wc_add_notice(
‘Please select your delivery area before placing the order.’,
‘error’
);

return;
}

$price = cc_get_delivery_price(
$area
);

if ( false === $price ) {

wc_add_notice(
‘Please select a valid delivery area.’,
‘error’
);
}
}

/* ============================================================
* 10. SAVE DELIVERY AREA + CHARGE TO ORDER
* ============================================================ */

add_action(
‘woocommerce_checkout_create_order’,
‘cc_save_delivery_data_to_order’,
20,
2
);

function cc_save_delivery_data_to_order(
$order,
$data
) {

if (
! function_exists( ‘WC’ ) ||
! WC()->session
) {
return;
}

$area = WC()->session->get(
‘cc_delivery_area’
);

/*
* Extra fallback:
* If session is empty, get area directly from checkout POST.
*/

if (
empty( $area ) &&
isset( $_POST[‘cc_delivery_area’] )
) {

$area = sanitize_text_field(
wp_unslash(
$_POST[‘cc_delivery_area’]
)
);
}

if ( empty( $area ) ) {
return;
}

$charge = cc_get_delivery_price(
$area
);

/* Save delivery area */

$order->update_meta_data(
‘_cc_delivery_area’,
sanitize_text_field( $area )
);

/* Save delivery charge */

if ( false !== $charge ) {

$order->update_meta_data(
‘_cc_delivery_charge’,
(float) $charge
);
}
}

/* ============================================================
* 11. ADMIN ORDER – SHOW DELIVERY DETAILS
* ============================================================ */

add_action(
‘woocommerce_admin_order_data_after_billing_address’,
‘cc_admin_show_delivery_data’,
20
);

function cc_admin_show_delivery_data( $order ) {

if ( ! $order ) {
return;
}

$area = $order->get_meta(
‘_cc_delivery_area’
);

$charge = $order->get_meta(
‘_cc_delivery_charge’
);

if (
empty( $area ) &&
” === $charge
) {
return;
}

echo ‘

‘;

echo ‘

Delivery Details

‘;

if ( ! empty( $area ) ) {

echo ‘

‘;

echo ‘Delivery Area: ‘;

echo esc_html( $area );

echo ‘

‘;
}

if ( ” !== $charge ) {

echo ‘

‘;

echo ‘Delivery Charges: PKR ‘;

echo esc_html(
number_format_i18n(
(float) $charge
)
);

echo ‘

‘;
}

echo ‘

‘;
}

/* ============================================================
* 12. CUSTOMER ORDER – SHOW DELIVERY DETAILS
* ============================================================ */

add_action(
‘woocommerce_order_details_after_customer_details’,
‘cc_customer_show_delivery_data’
);

function cc_customer_show_delivery_data( $order ) {

$area = $order->get_meta(
‘_cc_delivery_area’
);

$charge = $order->get_meta(
‘_cc_delivery_charge’
);

if (
empty( $area ) &&
” === $charge
) {
return;
}

echo ‘

‘;

echo ‘

‘;

echo ‘Delivery Area: ‘;

echo esc_html( $area );

echo ‘
‘;

if ( ” !== $charge ) {

echo ‘Delivery Charges: PKR ‘;

echo esc_html(
number_format_i18n(
(float) $charge
)
);
}

echo ‘

‘;

echo ‘

‘;
}

/* ============================================================
* 13. CSS
* ============================================================ */

add_action(
‘wp_head’,
‘cc_delivery_css’
);

function cc_delivery_css() {

if (
! is_cart() &&
! is_checkout()
) {
return;
}

?>

get_meta(
‘_cc_delivery_area’
);

$delivery_charge = $order->get_meta(
‘_cc_delivery_charge’
);

/*
* If delivery information was not saved,
* don’t display the box.
*/
if (
empty( $delivery_area ) &&
” === $delivery_charge
) {
return;
}

?>


Delivery Details

Delivery Area:

Delivery Charges:
PKR

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

0
0
Your Cart
Your cart is emptyReturn to Shop
Secure Checkout
Fast Shipping
Easy Returns
Scroll to Top