WordPress获取自定义文章类型下所有分类列表
我们在WordPress主题开发过程中会经常用到自定义分类法,这个时候我们就有可能需要获取某个自定义文章类型下分类列表,其实很简单,直接上代码; <ul …
目录
在 WooCommerce 商城中,标准的结算流程通常只包括商品总价、税费和运费。然而,在某些特定情况下,我们可能需要根据不同条件(如订单金额、支付方式、用户角色等)动态添加额外费用。例如:
✅ 小额订单附加费——如果订单金额低于某个数值,额外收取小额订单费用;
✅ 支付方式手续费——如果客户选择某些支付方式,如货到付款,增加额外的手续费;
✅ 快速处理费——客户可选择支付额外费用来加快订单处理速度。
本文将介绍如何在 WooCommerce 结算页面动态添加自定义费用,并确保其正确计入订单总金额。
WooCommerce 提供了 woocommerce_cart_calculate_fees
这个钩子,允许我们在结算时动态添加自定义费用。
假设我们希望对订单金额低于 100 元的订单收取 5 元的附加费,我们可以使用以下代码:
function add_small_order_fee( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
return;
}
$threshold = 100; // 订单金额门槛
$fee_amount = 5; // 附加费用
if ( $cart->subtotal < $threshold ) {
$cart->add_fee( '小额订单附加费', $fee_amount );
}
}
add_action( 'woocommerce_cart_calculate_fees', 'add_small_order_fee' );
📌 代码解析:
$threshold = 100
,如果购物车金额低于 100,就额外收取 5 元;$cart->add_fee( '小额订单附加费', $fee_amount )
添加费用。有时,我们希望针对特定支付方式(如货到付款)收取额外手续费。以下代码实现了当客户选择“货到付款”(COD)时,额外收取 10 元费用:
function add_payment_method_fee( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
return;
}
// 获取当前选择的支付方式
$chosen_payment_method = WC()->session->get( 'chosen_payment_method' );
if ( $chosen_payment_method === 'cod' ) { // ‘cod’ 是货到付款的支付方式 ID
$cart->add_fee( '货到付款手续费', 10 );
}
}
add_action( 'woocommerce_cart_calculate_fees', 'add_payment_method_fee' );
📌 代码解析:
WC()->session->get( 'chosen_payment_method' )
获取用户当前选择的支付方式;cod
),则添加 10 元的额外费用。有时候,用户希望支付额外费用来加快订单处理速度。我们可以在结算页面提供一个复选框,用户勾选后自动增加加急订单费用。
function add_express_shipping_checkbox() {
woocommerce_form_field( 'express_shipping', array(
'type' => 'checkbox',
'class' => array( 'form-row-wide' ),
'label' => '加急订单处理(+15元)',
));
}
add_action( 'woocommerce_review_order_before_submit', 'add_express_shipping_checkbox' );
📌 代码解析:
woocommerce_form_field()
用于创建复选框,woocommerce_review_order_before_submit
钩子确保它出现在“提交订单”按钮上方。function save_express_shipping_option( $order_id ) {
if ( isset( $_POST['express_shipping'] ) ) {
update_post_meta( $order_id, '_express_shipping', 'yes' );
}
}
add_action( 'woocommerce_checkout_update_order_meta', 'save_express_shipping_option' );
WordPress日记主要承接WordPress主题定制开发、PSD转WordPress、WordPress仿站以及以WordPress为管理后端的小程序、APP,我们一直秉持“做一个项目,交一个朋友”的理念,希望您是我们下一个朋友。如果您有WordPress主题开发需求,可随时联系QQ:919985494 微信:18539976310