在创建会话之前使用 Url 变量预填充 Woocommerce 结帐字段

Pre-fill Woocommerce checkout fields with Url variable before session created

我有 wordpress 网站 运行 woocommerce 和一些产品。我想向我的客户发送一个 url 到他们的产品,其中包括他们的姓名和电子邮件,这样我就可以在 woocommerce 结帐页面上预先填写姓名和电子邮件。 link 会将客户带到产品项目页面,他们可以在其中查看产品详细信息并单击 "add to cart"。

Link 示例:http://example.com/product/myitem/tu_em=name@example.com&tu_name=theFirstName

我尝试使用 答案代码,但您需要已经创建了一个 woocommerce 会话,这在您单击 "add to cart"

之前不会发生

如何将我的结帐字段页面从 url 预填到产品项目?

您可以使用 在添加到购物车操作之前回答代码并初始化会话 cookie,使用以下内容:

add_action( 'woocommerce_init', 'initiate_customer_session_cookie' )
function initiate_customer_session_cookie(){
    // Ensure that Woocommerce session cookie is initiated
    if ( isset(WC()->session) && ! WC()->session->has_session() ) 
        WC()->session->set_customer_session_cookie( true );
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。