Woocommerce结帐,带有编辑地址布局

时间:2019-02-28 10:42:24

标签: php wordpress woocommerce field checkout

因此,当您结帐时,您会看到所有帐单字段输入,但是我想删除所有帐单输入,并使用“编辑”按钮根据“我的帐户/编辑地址”显示一张卡。这可能吗?

基本上,我需要将该卡弹出到帐单字段上。有什么建议吗?

我已经在使用Hide billing address from checkout page but keep the information答案代码。

1 个答案:

答案 0 :(得分:0)

所以

我使用了我在问题上放置的代码,并将其也添加到我的functions.php文件中:

function action_woocommerce_after_checkout_billing_form( $wccs_custom_checkout_field_pro ) {

    if (is_user_logged_in()){
        $customer_id = get_current_user_id();
        $address = get_user_meta( $customer_id, 'billing_address_1', true );
        if (!empty($address)){          
            echo '<style>.woocommerce-billing-fields__field-wrapper {display: none;}</style>';
            echo '<div class="checkoutaddress">
                    <a href="#" class="edit">'. __( 'Edit', 'woocommerce' ).'</a>
                    <h3>'. __( 'Billing address', 'woocommerce' ) .'</h3>
                <address>'.
            get_user_meta( $customer_id, 'billing_first_name', true ).' '.
            get_user_meta( $customer_id, 'billing_last_name', true )    .'<br>'.
            get_user_meta( $customer_id, 'billing_phone', true ).'<br>'.
            $address.'<br>'.
            get_user_meta( $customer_id, 'billing_postcode', true ).' '.
            get_user_meta( $customer_id, 'billing_city', true ).'<br>'.
            get_user_meta( $customer_id, 'billing_state', true )
                .'</address>
            </div>';
        }
    }

}; 
add_action( 'woocommerce_after_checkout_billing_form', 'action_woocommerce_after_checkout_billing_form', 10, 1 );

它将检查用户是否已登录(否则显示字段),检查之后,检查账单地址是否已填写(否则也显示字段)

希望这对某人有帮助。这不是一个很好的解决方案,但可以!