返回介绍

WooCommerce 在 Email Header 中获取用户信息

发布于 2022-01-02 19:03:58 字数 675 浏览 1034 评论 0 收藏 0

WooCommerce的Email模版中除了header和footer模版之外,都可以获取order信息进而取得用户信息,若要在header和footer里输出一些用户相关的信息,有点麻烦。

目前找到的方式是这样,在email-header.php里,通过遍历mailer变量找到哪个email的被赋予order信息,被赋值说明正在发送这个email,通过这个order信息来获取用户ID

if( is_object( WC()->mailer ) ){
	foreach( WC()->mailer->emails as $key => $email ){
		if( is_object( $email->object ) ){
			$order_id = $email->object->id;
			break;
		}
	}
}
if( isset( $order_id ) && is_numeric( $order_id ) ){
    $order = new WC_Order( $order_id );
    $customer_id = $order->user_id;//用户user_id
}

模版通过wc_get_template调用,其它的模版都传了$order进去,只有footer和header是例外,而WC_Email class也没给插一腿的机会,只好这么干。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文