php - 在 WooCommerce 订单接收页面上的文本中添加客户电子邮件
问题描述
在 WooCommerce 中,在我的感谢/订单已收到页面的顶部,我添加了一个自定义文本,其中包含以下代码:
add_action( 'woocommerce_thankyou', 'my_order_received_text', 1, 0);
function my_order_received_text(){
echo '<div class="my_thankyou2"><p>' . __('Your download link was sent to: ') . '</p></div>' ;
}
如何将客户的电子邮件地址添加到自定义文本的末尾?
解决方案
要获取客户帐单电子邮件,您可以使用其中之一:
- Woocommerce
WC_Order
方法get_billing_email()
- 带有来自订单 ID
get_post_meta()
的元键的 WordPress 函数。_billing_email
现在您可以在2 个不同的位置设置文本:
1) 在收到订单页面的顶部:
add_filter( 'woocommerce_thankyou_order_received_text', 'my_order_received_text', 10, 2 );
function my_order_received_text( $text, $order ){
if( ! is_a($order, 'WC_Order') ) {
return $text;
}
// Get Customer billing email
$email = $order->get_billing_email();
return $text . '<br>
<div class="my_thankyou2"><p>' . __('Your download link was sent to: ') . $email . '</p></div>' ;
}
代码位于您的活动子主题(或活动主题)的 function.php 文件中。测试和工作。
2) 在收到订单页面的底部:
以这种方式使用该WC_Order
方法get_billing_email()
:
add_action( 'woocommerce_thankyou', 'my_order_received_text', 10, 1 );
function my_order_received_text( $order_id ){
if( ! $order_id ){
return;
}
$order = wc_get_order( $order_id ); // Get an instance of the WC_Order Object
$email = $order->get_billing_email(); // Get Customer billing email
echo '<div class="my_thankyou2"><p>' . __('Your download link was sent to: ') . $email . '</p></div>' ;
}
代码位于您的活动子主题(或活动主题)的 function.php 文件中。测试和工作。
或者,使用 WordPressget_post_meta()
函数,在函数中替换:
$order = wc_get_order( $order_id ); // Get an instance of the WC_Order Object
$email = $order->get_billing_email(); // Get Customer billing email
通过以下行:
$email = get_post_meta( $order_id, '_billing_email', true ); // Get Customer billing email
推荐阅读
- javascript - 创建函数以获取下一个数字(包括小数)
- sql-server - SQL Server 代理 - 打印 PDF
- javascript - WebView2 AddHostObjectToScript 无法访问带参数的函数
- rust - Rust (nom 7) 多行解析器的流版本
- algorithm - 排序统计算法已采取的元素数量
- laravel - 来自 javascript (async) 的 Livewire 加载状态
- python - 使用python评估过滤器matlab函数
- python - Pandas 数据框计算 inexes 的百分比 = 列中的相同值
- python - 如何在我的 python 项目中本地引用文件?
- mysql - 从 2 列中获取最后一个不同的值