Pre-fill Woocommerce checkout fields with Url variables saved in session

前端 未结 2 1694
半阙折子戏
半阙折子戏 2020-12-12 04:58

When people enter the my woocommerce shop following a link in an sales email with email and name as parameters I would like to prefill the name and email in the checkout pag

2条回答
  •  独厮守ぢ
    2020-12-12 05:49

    Shipping information(send to another address) by default is auto we use that for autofill billing fildes

    add_filter( 'woocommerce_checkout_fields' , 'ahmadyani_checkout_field_defaults', 20 );
    function ahmadyani_checkout_field_defaults( $fields ) {
        $user = get_user_meta(get_current_user_id());
        $first_name = $user ? $user['shipping_first_name'][0] : '';
        $last_name = $user ? $user['shipping_last_name'][0] : '';
        $company = $user ? $user['shipping_company'][0] : '';
        $shipping_address_1 = $user ? $user['shipping_address_1'][0] : '';
        $shipping_address_2 = $user ? $user['shipping_address_2'][0] : '';
        $shipping_city = $user ? $user['shipping_city'][0] : '';
        $shipping_state = $user ? $user['shipping_state'][0] : '';
        $shipping_postcode = $user ? $user['shipping_postcode'][0] : '';
        $fields['billing']['billing_first_name']['default'] = $first_name;
        $fields['billing']['billing_last_name']['default'] = $last_name;
        $fields['billing']['billing_company']['default'] = $company;
        $fields['billing']['billing_address_1']['default'] = $shipping_address_1;
        $fields['billing']['billing_address_2']['default'] = $shipping_address_2;
        $fields['billing']['billing_city']['default'] = $shipping_city;
        $fields['billing']['billing_state']['default'] = $shipping_state;
        $fields['billing']['billing_postcode']['default'] = $shipping_postcode;
        return $fields;
    }
    

提交回复
热议问题