【问题标题】:Fill checkout fields values from URL variables in Woocommerce从 Woocommerce 中的 URL 变量填充结帐字段值
【发布时间】:2018-12-25 14:57:59
【问题描述】:

我有一个 URL,其中使用 GET 放入了很多变量,例如checkout/?FirstName=Test&LastName=Test&EmailAddress=Test

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

任何帮助谢谢

【问题讨论】:

    标签: php wordpress woocommerce get checkout


    【解决方案1】:

    下面是一个基于Get url variables为结帐字段计费名字和姓氏的示例。

    它基于您的 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 文件中。经过测试并且可以工作。

    【讨论】:

    • 感谢这对如何预填充“跳转菜单”有任何想法,例如我尝试使用上述国家/地区,但似乎不适用于下拉菜单
    • @AaronFernandes 我在这里的回答是基于您在问题中提出的问题……如果有的话,我会在稍后尝试找到选择字段的方法。 对于国家和州,我认为值需要是Woocommerce WC_Countries class code中定义的国家代码和州代码......国家的代码是2个字母,州的代码也类似,具体取决于国家。
    • 这在 2021 年仍然有效
    猜你喜欢
    • 2018-10-25
    • 2019-08-24
    • 2019-05-27
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 1970-01-01
    • 2017-09-04
    相关资源
    最近更新 更多