首页 文章

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

提问于
浏览
0

我正在使用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

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

    /**
     * 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

相关问题