Is this a plugin issue or an API issue with “WooCommerce UPS Shipping” from ups.com?
]]>// taking data
$(document).find('[name="calc_address_code"]').val(selectedOption['AddressName']);
$(document).find('[name="shipping_address_1"]').val(selectedOption['Street']);
$(document).find('[name="shipping_address_2"]').val(selectedOption['Block']);
$(document).find('#calc_shipping_country').val(selectedOption['Country']);
$(document).find('#calc_shipping_state').val(selectedOption['State']);
$(document).find('#calc_shipping_city').val(selectedOption['City']);
$(document).find('#calc_shipping_postcode').val(selectedOption['ZipCode']);
$(document).find('#calc_person_name').val(selectedOption1['Name']);
$(document).find('#calc_person_email').val(selectedOption1['Email']);
//
checking for the value and triggering the action :
if (modal.find('#select-address').length) {
console.log("Before accessing 'selectAccount':", document.getElementById('selectAccount'));
$(document).find('[name="calc_shipping"]').trigger('click');
console.log("After triggering calc_shipping:", document.getElementById('selectAccount'));
}
//action :
<form class="woocommerce-shipping-calculator" action="<?php echo esc_url(wc_get_cart_url()); ?>" method="post">
<?php printf('<a href="#" class="shipping-calculator-button">%s</a>', esc_html(!empty($button_text) ? $button_text : __('Calculate shipping', 'woocommerce'))); ?>
<a href="javascript:void(0);" id="ButtonToSelectAddress" class="select-account button" onclick="openModal()">Select Address</a>
<div id="addNotification"></div>
<section class="shipping-calculator-form" style="display:none;">
<?php if (apply_filters('woocommerce_shipping_calculator_enable_country', true)) : ?>
<p class="form-row form-row-wide" id="calc_shipping_country_field">
<select name="calc_shipping_country" id="calc_shipping_country" class="country_to_state country_select" rel="calc_shipping_state">
<option value="default"><?php esc_html_e('Select a country / region…', 'woocommerce'); ?></option>
<?php
foreach (WC()->countries->get_shipping_countries() as $key => $value) {
echo '<option value="' . esc_attr($key) . '"' . selected(WC()->customer->get_shipping_country(), esc_attr($key), false) . '>' . esc_html($value) . '</option>';
}
?>
</select>
</p>
<?php endif; ?>
<?php if (apply_filters('woocommerce_shipping_calculator_enable_state', true)) : ?>
<p class="form-row form-row-wide" id="calc_shipping_state_field">
<?php
$current_cc = WC()->customer->get_shipping_country();
$current_r = WC()->customer->get_shipping_state();
$states = WC()->countries->get_states($current_cc);
if (is_array($states) && empty($states)) {
?>
<input type="hidden" name="calc_shipping_state" id="calc_shipping_state" placeholder="<?php esc_attr_e('State / County', 'woocommerce'); ?>" />
<?php
} elseif (is_array($states)) {
?>
<span>
<select name="calc_shipping_state" class="state_select" id="calc_shipping_state" data-placeholder="<?php esc_attr_e('State / County', 'woocommerce'); ?>">
<option value=""><?php esc_html_e('Select an option…', 'woocommerce'); ?></option>
<?php
foreach ($states as $ckey => $cvalue) {
echo '<option value="' . esc_attr($ckey) . '" ' . selected($current_r, $ckey, false) . '>' . esc_html($cvalue) . '</option>';
}
?>
</select>
</span>
<?php
} else {
?>
<input type="text" class="input-text" value="<?php echo esc_attr($current_r); ?>" placeholder="<?php esc_attr_e('State / County', 'woocommerce'); ?>" name="calc_shipping_state" id="calc_shipping_state" />
<?php
}
?>
</p>
<?php endif; ?>
<?php if (apply_filters('woocommerce_shipping_calculator_enable_city', true)) : ?>
<p class="form-row form-row-wide" id="calc_shipping_city_field">
<input type="text" class="input-text" value="<?php echo esc_attr(WC()->customer->get_shipping_city()); ?>" placeholder="<?php esc_attr_e('City', 'woocommerce'); ?>" name="calc_shipping_city" id="calc_shipping_city" />
</p>
<?php endif; ?>
<?php if (apply_filters('woocommerce_shipping_calculator_enable_postcode', true)) : ?>
<p class="form-row form-row-wide" id="calc_shipping_postcode_field">
<input type="text" class="input-text" value="<?php echo esc_attr(WC()->customer->get_shipping_postcode()); ?>" placeholder="<?php esc_attr_e('Postcode / ZIP', 'woocommerce'); ?>" name="calc_shipping_postcode" id="calc_shipping_postcode" />
</p>
<?php endif; ?>
<?php $calc_card_details = WC()->session->get('calc_card_details');
$calc_address_code = WC()->session->get('calc_address_code');
$custom_address_details = WC()->session->get('custom_address_details'); ?>
<input type="hidden" name="calc_card_code" value="<?php echo $calc_card_details['code']; ?>" />
<input type="hidden" name="calc_address_code" value="<?php echo $calc_address_code; ?>" />
<input type="hidden" name="billing_address_1" value="<?php echo $custom_address_details['street']; ?>" />
<input type="hidden" name="shipping_address_1" value="<?php echo $custom_address_details['street']; ?>" />
<input type="hidden" name="billing_address_2" value="<?php echo $custom_address_details['building']; ?>" />
<input type="hidden" name="shipping_address_2" value="<?php echo $custom_address_details['building']; ?>" />
<input type="hidden" name="custom_shipping_block" value="<?php echo $custom_address_details['block']; ?>" />
<input type="hidden" name="custom_shipping_regular" value="<?php echo $custom_address_details['regular']; ?>" />
<input type="hidden" name="new-custom" value="<?php echo $custom_address_details['new']; ?>" />
<input type="hidden" name="calc_card_name" value="<?php echo $calc_card_details['name']; ?>" />
<p><button type="submit" name="calc_shipping" value="1" class="button" onclick="Submit()"><?php esc_html_e('Update', 'woocommerce'); ?></button></p>
<?php wp_nonce_field('woocommerce-shipping-calculator', 'woocommerce-shipping-calculator-nonce'); ?>
</section>
</form>
Any help will be very helpful.
]]>// taking data
$(document).find('[name="calc_address_code"]').val(selectedOption['AddressName']);
$(document).find('[name="shipping_address_1"]').val(selectedOption['Street']);
$(document).find('[name="shipping_address_2"]').val(selectedOption['Block']);
$(document).find('#calc_shipping_country').val(selectedOption['Country']);
$(document).find('#calc_shipping_state').val(selectedOption['State']);
$(document).find('#calc_shipping_city').val(selectedOption['City']);
$(document).find('#calc_shipping_postcode').val(selectedOption['ZipCode']);
$(document).find('#calc_person_name').val(selectedOption1['Name']);
$(document).find('#calc_person_email').val(selectedOption1['Email']);
//
checking for the value and triggering the action :
if (modal.find('#select-address').length) {
console.log("Before accessing 'selectAccount':", document.getElementById('selectAccount'));
$(document).find('[name="calc_shipping"]').trigger('click');
console.log("After triggering calc_shipping:", document.getElementById('selectAccount'));
}
//action :
<form class="woocommerce-shipping-calculator" action="<?php echo esc_url(wc_get_cart_url()); ?>" method="post">
<?php printf('<a href="#" class="shipping-calculator-button">%s</a>', esc_html(!empty($button_text) ? $button_text : __('Calculate shipping', 'woocommerce'))); ?>
<a href="javascript:void(0);" id="ButtonToSelectAddress" class="select-account button" onclick="openModal()">Select Address</a>
<div id="addNotification"></div>
<section class="shipping-calculator-form" style="display:none;">
<?php if (apply_filters('woocommerce_shipping_calculator_enable_country', true)) : ?>
<p class="form-row form-row-wide" id="calc_shipping_country_field">
<select name="calc_shipping_country" id="calc_shipping_country" class="country_to_state country_select" rel="calc_shipping_state">
<option value="default"><?php esc_html_e('Select a country / region…', 'woocommerce'); ?></option>
<?php
foreach (WC()->countries->get_shipping_countries() as $key => $value) {
echo '<option value="' . esc_attr($key) . '"' . selected(WC()->customer->get_shipping_country(), esc_attr($key), false) . '>' . esc_html($value) . '</option>';
}
?>
</select>
</p>
<?php endif; ?>
<?php if (apply_filters('woocommerce_shipping_calculator_enable_state', true)) : ?>
<p class="form-row form-row-wide" id="calc_shipping_state_field">
<?php
$current_cc = WC()->customer->get_shipping_country();
$current_r = WC()->customer->get_shipping_state();
$states = WC()->countries->get_states($current_cc);
if (is_array($states) && empty($states)) {
?>
<input type="hidden" name="calc_shipping_state" id="calc_shipping_state" placeholder="<?php esc_attr_e('State / County', 'woocommerce'); ?>" />
<?php
} elseif (is_array($states)) {
?>
<span>
<select name="calc_shipping_state" class="state_select" id="calc_shipping_state" data-placeholder="<?php esc_attr_e('State / County', 'woocommerce'); ?>">
<option value=""><?php esc_html_e('Select an option…', 'woocommerce'); ?></option>
<?php
foreach ($states as $ckey => $cvalue) {
echo '<option value="' . esc_attr($ckey) . '" ' . selected($current_r, $ckey, false) . '>' . esc_html($cvalue) . '</option>';
}
?>
</select>
</span>
<?php
} else {
?>
<input type="text" class="input-text" value="<?php echo esc_attr($current_r); ?>" placeholder="<?php esc_attr_e('State / County', 'woocommerce'); ?>" name="calc_shipping_state" id="calc_shipping_state" />
<?php
}
?>
</p>
<?php endif; ?>
<?php if (apply_filters('woocommerce_shipping_calculator_enable_city', true)) : ?>
<p class="form-row form-row-wide" id="calc_shipping_city_field">
<input type="text" class="input-text" value="<?php echo esc_attr(WC()->customer->get_shipping_city()); ?>" placeholder="<?php esc_attr_e('City', 'woocommerce'); ?>" name="calc_shipping_city" id="calc_shipping_city" />
</p>
<?php endif; ?>
<?php if (apply_filters('woocommerce_shipping_calculator_enable_postcode', true)) : ?>
<p class="form-row form-row-wide" id="calc_shipping_postcode_field">
<input type="text" class="input-text" value="<?php echo esc_attr(WC()->customer->get_shipping_postcode()); ?>" placeholder="<?php esc_attr_e('Postcode / ZIP', 'woocommerce'); ?>" name="calc_shipping_postcode" id="calc_shipping_postcode" />
</p>
<?php endif; ?>
<?php $calc_card_details = WC()->session->get('calc_card_details');
$calc_address_code = WC()->session->get('calc_address_code');
$custom_address_details = WC()->session->get('custom_address_details'); ?>
<input type="hidden" name="calc_card_code" value="<?php echo $calc_card_details['code']; ?>" />
<input type="hidden" name="calc_address_code" value="<?php echo $calc_address_code; ?>" />
<input type="hidden" name="billing_address_1" value="<?php echo $custom_address_details['street']; ?>" />
<input type="hidden" name="shipping_address_1" value="<?php echo $custom_address_details['street']; ?>" />
<input type="hidden" name="billing_address_2" value="<?php echo $custom_address_details['building']; ?>" />
<input type="hidden" name="shipping_address_2" value="<?php echo $custom_address_details['building']; ?>" />
<input type="hidden" name="custom_shipping_block" value="<?php echo $custom_address_details['block']; ?>" />
<input type="hidden" name="custom_shipping_regular" value="<?php echo $custom_address_details['regular']; ?>" />
<input type="hidden" name="new-custom" value="<?php echo $custom_address_details['new']; ?>" />
<input type="hidden" name="calc_card_name" value="<?php echo $calc_card_details['name']; ?>" />
<p><button type="submit" name="calc_shipping" value="1" class="button" onclick="Submit()"><?php esc_html_e('Update', 'woocommerce'); ?></button></p>
<?php wp_nonce_field('woocommerce-shipping-calculator', 'woocommerce-shipping-calculator-nonce'); ?>
</section>
</form>
Any help will be very helpful.
]]>I would like to upgrade to Pro Ver. If it will fit my needs:
My customer owns a shop. He wants me to do the following:
If there is a single product on the cart the shipping will be 1 x 49 US$.
If there are 2 product or more the calculation will be products units x 32 US$.
Can the Pro version do it?
I noticed that the Free version has only Weight calculation or whole cart sum.
Thank you very much waiting for your fast reply !
]]>Is there documentation for this somewhere or is it not capable?
]]>I have created one custom shipping method which will calculate shipping cost based on product weight and different dimensions. I can see shipping cost on front-end cart page as well as on checkout page. It is working fine as expected.
But when i create order manually from backend (wp-admin) in Woocommerce, then i can see that it does not calculate shipping cost automatically. I have to enter it manually shipping cost.
Currently we have to enter “add shipping” button then choose “Shipping method” then we have to enter “Price” manually. https://prnt.sc/zaRKRK5ZvZce
So is there any option or woocommerce hooks to automate Shipping generation for admin orders ?
]]>For example, a pillow that has these dimensions 57 × 37 × 14 cm and a weight of 1.9Kg is showing a shipping fee for Economy Domestic Road Freight of R147,366.18.
How do we resolve this?
]]>