You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据支付方式自动设置WooCommerce订单自定义元数据

解决方案

要实现根据支付方式自动设置后台订单详情页的自定义下拉字段,需要完成两个核心操作:订单创建时自动写入对应值和后台显示时默认选中已保存的值,具体代码调整如下:

1. 新增自动设置字段值的钩子

在订单结账完成后,根据支付方式自动给_option元数据赋值:

add_action( 'woocommerce_checkout_update_order_meta', 'auto_set_option_based_on_payment_method', 10, 2 );
function auto_set_option_based_on_payment_method( $order_id, $data ) {
    $order = wc_get_order( $order_id );
    $payment_method = $order->get_payment_method();
    
    if ( $payment_method === 'stripe' ) {
        update_post_meta( $order_id, '_option', 'Apmoketa' );
    } elseif ( $payment_method === 'bacs' ) {
        update_post_meta( $order_id, '_option', 'Neapmoketa' );
    }
}

2. 修改后台字段显示逻辑

让下拉框默认选中已保存的(包括自动设置的)值,在display_option函数中添加value参数:

add_action('woocommerce_admin_order_data_after_order_details', 'display_option');
function display_option( $order) {
    // 获取已保存的选项值
    $saved_option = get_post_meta( $order->get_id(), '_option', true );
    
    echo '<div class="options_group">';
    woocommerce_wp_select( array(
        'id'          => '_option',
        'label'       => __( 'Statusas', 'woocommerce' ),
        'desc_tip'    => false,
        'value'       => $saved_option, // 默认选中已保存的值
        'options'     => array(
            ''        => __( 'Pasirinkti statusa', 'woocommerce' ),
            'Apmoketa'    => __('Apmoketa', 'woocommerce' ),
            'Neapmoketa' => __('Neapmoketa', 'woocommerce' ),
        )
    ) );

    echo '</div>';
}

3. 优化保存函数(可选)

如果需要支持清空字段值,可以调整保存逻辑,确保空值也能更新元数据:

add_action( 'woocommerce_process_shop_order_meta', 'save_option' );
function save_option( $post_id ){
    $posted_field_value = isset( $_POST['_option'] ) ? $_POST['_option'] : '';
    update_post_meta( $post_id, '_option', esc_attr( $posted_field_value ) );
}

关键说明

  • 使用woocommerce_checkout_update_order_meta钩子可以确保订单创建时就完成值的设置,无需手动触发;
  • 后台显示时通过get_post_meta读取已保存的元数据,赋值给下拉框的value参数,实现自动选中;
  • 保留原有保存逻辑,允许手动修改字段值,自动设置的值仅作为初始默认值。

内容的提问来源于stack exchange,提问作者Kuiio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:07:41