WordPress教程

woocommerce 结帐页面添加自定义费用字段ajax更新

也想出现在这里?联系我们
创客云

我试图在结账时向订单总额支付定制费用,我在 woocommerce 中添加了一个复选框:

  1. add_action( 'woocommerce_after_checkout_billing_form', 'add_box_option_to_checkout' );
  2. function add_box_option_to_checkout( $checkout ) {
  3.     echo '<div id="message_fields">';
  4.     woocommerce_form_field( 'add_gift_box', array(
  5.         'type'          => 'checkbox',
  6.         'class'         => array('add_gift_box form-row-wide'),
  7.  
  8.         'label'         => __('Ilość pudełek ozdobnych - 25 PLN/szt'),
  9.         'placeholder'   => __(''),
  10.         ), $checkout->get_value( 'add_gift_box' ));
  11.         echo '</div>';
  12. }
也想出现在这里?联系我们
创客主机

单击复选框时更新购物车的脚本(无需额外的 AJAX 请求!):

  1. add_action( 'wp_footer', 'woocommerce_add_gift_box' );
  2. function woocommerce_add_gift_box() {
  3.     if (is_checkout()) {
  4.     ?>
  5.     <script type="text/javascript">
  6.     jQuery( document ).ready(function( $) {
  7.         $('#add_gift_box').click(function(){
  8.             jQuery('body').trigger('update_checkout');
  9.         });
  10.     });
  11.     </script>
  12.     <?php
  13.     }
  14. }
也想出现在这里?联系我们
创客主机

增加费用的行动:

  1. add_action( 'woocommerce_cart_calculate_fees', 'woo_add_cart_fee' );
  2. function woo_add_cart_fee( $cart ){
  3.         if ( ! $_POST || ( is_admin() && ! is_ajax() ) ) {
  4.         return;
  5.     }
  6.  
  7.     if ( isset( $_POST['post_data'] ) ) {
  8.         parse_str( $_POST['post_data'], $post_data );
  9.     } else {
  10.         $post_data = $_POST; // fallback for final checkout (non-ajax)
  11.     }
  12.  
  13.     if (isset($post_data['add_gift_box'])) {
  14.         $extracost = 25; // not sure why you used intval($_POST['state']) ?
  15.         WC()->cart->add_fee( 'Ozdobne pudełka:', $extracost );
  16.     }
  17.  
  18. }
服务范围 1、专业提供WordPress主题、插件汉化、优化、PHP环境配置等服务请详询在线客服
2、本站承接 WordPress、DedeCMS、ThinkPHP 等系统建站、仿站、开发、定制等服务
3、英文模板(主题)安装费用为120元/次,汉化主题首次免费安装(二次安装30元/次)
售后时间 周一至周五(法定节假日除外) 10:00-22:00
免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 2107117185@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!
也想出现在这里?联系我们
360uxc
(0)

本文由 云模板 作者:PetitQ 发表,转载请注明来源!

也想出现在这里?联系我们
创客主机

热评文章

发表评论

精彩推荐

Medizin - 医疗器械医护用品外贸商店WooCommerce汉化主题

Envato Affiliates

本站承接 WordPress / DedeCMS / ThinkPHP 等
系统建站、仿站、开发、定制等业务!

嘿,售后咨询!