Php Woocommerce增加了自定义费用,试图通过AJAX操纵checkbox
我希望能得到一些关于这里发生了什么的信息 我在结帐的总额部分增加了额外的费用,它增加了小计的10% 现在可以了,因为我通过插件添加了以下代码片段:Php Woocommerce增加了自定义费用,试图通过AJAX操纵checkbox,php,ajax,wordpress,woocommerce,Php,Ajax,Wordpress,Woocommerce,我希望能得到一些关于这里发生了什么的信息 我在结帐的总额部分增加了额外的费用,它增加了小计的10% 现在可以了,因为我通过插件添加了以下代码片段: add_action( 'woocommerce_cart_calculate_fees','endo_handling_fee' ); function endo_handling_fee() { global $woocommerce; if ( is_admin() && ! defined( 'DOING_AJAX' ) )
add_action( 'woocommerce_cart_calculate_fees','endo_handling_fee' );
function endo_handling_fee() {
global $woocommerce;
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$subtotal = $woocommerce->cart->subtotal;
$fee_percentage = 0.1; // 10 percent
$fee = ($subtotal * $fee_percentage);
$woocommerce->cart->add_fee( 'Seguro de Envio', $fee, true, 'standard' );
}
它确实可以工作,但我必须能够通过复选框激活它
该复选框是通过进入购物车总计并使用以下代码创建的:
<?php foreach ( WC()->cart->get_fees() as $fee ) : ?>
<tr class="fee">
<th><?php echo esc_html( $fee->name ); ?> <input type="checkbox" id="envio"> </th>
<td id="seguroenvio" data-title="<?php echo esc_html( $fee->name ); ?>"><? php wc_cart_totals_fee_html( $fee ); ?></td>
</tr>
<?php endforeach; ?>
<?php
global $woocommerce;
add_action( 'woocommerce_cart_calculate_fees','endo_handling_fee' );
/*global $woocommerce;
$subtotal = $woocommerce->cart->subtotal;
$fee_percentage = 0.1; // 10 percent
$fee = ($subtotal * $fee_percentage);
$woocommerce->cart->add_fee( 'Seguro de Envio', $fee, true, 'standard' );
echo $fee." ";
require('../../../../../wp-includes/functions.php'); */
function endo_handling_fee() {
global $woocommerce;
if (is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$subtotal = $woocommerce->cart->subtotal;
$fee_percentage = 0.1; // 10 percent
$fee = ($subtotal * $fee_percentage);
if($_POST["status"] == "yes"){
$woocommerce->cart->add_fee( 'Seguro de Envio', $fee, true, 'standard' );
echo $fee." ";
}
else
{
$woocommerce->cart->add_fee( 'Seguro de Envio', 0, true, 'standard' );
echo "0";
}
echo 0;
}
?>
很难给出准确的答案。。。但这部分是错误的<代码>jQuery(“#envio”)。在('click',function(){update#shipping();$woocommerce->cart->add#fee('Seguro de envio',$fee,true,'standard');})代码>。。。你不能有javascript和php这样的。。。javascript在浏览器上运行,而php在服务器上运行。。。你需要另一种方式…完全可以理解,现在,你认为如果我在一些代码片段中添加这些javascript函数,它们会正常工作吗?请检查我的答案:很难给出准确的答案。。。但这部分是错误的<代码>jQuery(“#envio”)。在('click',function(){update#shipping();$woocommerce->cart->add#fee('Seguro de envio',$fee,true,'standard');})代码>。。。你不能有javascript和php这样的。。。javascript在浏览器上运行,而php在服务器上运行。。。你需要另一种方式…完全可以理解,现在,你认为如果我在一些代码片段中添加这些javascript函数,它们会正常工作吗?请检查我的答案:
<?php
global $woocommerce;
add_action( 'woocommerce_cart_calculate_fees','endo_handling_fee' );
/*global $woocommerce;
$subtotal = $woocommerce->cart->subtotal;
$fee_percentage = 0.1; // 10 percent
$fee = ($subtotal * $fee_percentage);
$woocommerce->cart->add_fee( 'Seguro de Envio', $fee, true, 'standard' );
echo $fee." ";
require('../../../../../wp-includes/functions.php'); */
function endo_handling_fee() {
global $woocommerce;
if (is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$subtotal = $woocommerce->cart->subtotal;
$fee_percentage = 0.1; // 10 percent
$fee = ($subtotal * $fee_percentage);
if($_POST["status"] == "yes"){
$woocommerce->cart->add_fee( 'Seguro de Envio', $fee, true, 'standard' );
echo $fee." ";
}
else
{
$woocommerce->cart->add_fee( 'Seguro de Envio', 0, true, 'standard' );
echo "0";
}
echo 0;
}
?>