Woocommerce - 修改每个订单的付款方式说明

时间:2015-01-24 00:34:25

标签: woocommerce

我正在将Woocommerce用于只有一种付款方式的网站 - 信用卡。但是,我们为客户提供不同的选择,例如全额付款,4付款等等。所有这些都可以正常工作 - 我将付款数量存储在会话变量中。我需要在管理员订单屏幕中修改付款方式文本(目前只是说"通过信用卡")。

我在

中试过了
 if($_SESSION['payments'] == '4') add_post_meta( $order->id, '_payment_method_title', ' Via Credit Card with 4 Equal Payments');

但这并没有奏效。会话变量$_SESSION['payments']此时已被清除......订单已完成。

如何修改订单元数据,以便按顺序显示客户需要的付款金额?我创建了一个解决方案using this code,但它会为每个项目设置自定义说明,而不是订单的付款说明。

1 个答案:

答案 0 :(得分:0)

向订单添加自定义元数据:

/**
 * Update the order meta with field value
 **/
add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta');
function my_custom_checkout_field_update_order_meta( $order_id ) {
    if ($_POST['my_custom_field']) update_post_meta( $order_id, '_my_custom_field', esc_attr($_POST['my_custom_field']));
}

(信用转到Woocommerce custom field not saving

然后添加自定义列并在Woocommerce订单屏幕上显示自定义元:

//custom orders columns
add_filter( 'manage_edit-shop_order_columns', 'my_custom_order_columns',11 );
function my_custom_order_columns($columns) {
    $new_columns = (is_array($columns)) ? $columns : array();
    unset( $new_columns['order_actions'] );

    $new_columns['_my_custom_field'] = 'Custom Field';

    $new_columns['order_actions'] = $columns['order_actions'];
    return $new_columns;
}
add_action( 'manage_shop_order_posts_custom_column', 'my_custom_columns_values', 2 );
function my_custom_columns_values($column){
    global $post;
    $data = get_post_meta( $post->ID );

    if ( $column == '_my_custom_field' ) {    
        echo (isset($data['_my_custom_field']) ? $data['_my_custom_field'][0] : '');
    }
}

(信用转到WooCommerce show custom column