填写Woocommerce中URL变量的结帐字段值

时间:2018-07-17 19:57:15

标签: php wordpress woocommerce get checkout

我有一个网址,其中包含很多使用GET进行的变量,例如checkout /?FirstName = Test&LastName = Test&EmailAddress = Test

我想知道如何使用此信息填充WooCommerce结帐页面上的字段?即获取FirstName并在WooCommerce Checkout中填写FirstName?

任何帮助谢谢

1 个答案:

答案 0 :(得分:1)

下面是一个示例,其中基于获取url变量(用于结帐字段)来计费名和姓。

它基于您的网址示例:checkout/?FirstName=Test&LastName=Test&EmailAddress=Test

代码:

add_filter( 'woocommerce_checkout_get_value' , 'custom_checkout_get_value', 20, 2 );
function custom_checkout_get_value( $value, $imput ) {
    // Billing first name
    if(isset($_GET['FirstName']) && ! empty($_GET['FirstName']) && $imput == 'billing_first_name' )
        $value = esc_attr( $_GET['FirstName'] );

    // Billing last name
    if(isset($_GET['LastName']) && ! empty($_GET['LastName']) && $imput == 'billing_last_name' )
        $value = esc_attr( $_GET['LastName'] );

    // Billing email
    if(isset($_GET['EmailAddress']) && ! empty($_GET['EmailAddress']) && $imput == 'billing_email' )
        $value = sanitize_email( $_GET['EmailAddress'] );

    return $value;
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。

enter image description here