php - 每封电子邮件中的 WooCommerce WPGens 推荐
问题描述
我使用由 WPGens 开发的 WooCommerce 推荐插件(我已经提交了一张票,但我不是高级会员,所以我没有太多希望
function gens_raf_customer_email( $order, $sent_to_admin, $plain_text ) {
$user_id = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->customer_user : $order->get_customer_id();
if( ! empty( $user_id ) && ( get_user_meta($user_id, "gens_referral_id", true) ) != '' ){
$code = get_user_meta($user_id, "gens_referral_id", true);
} else {
$code = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->billing_email : $order->get_billing_email();
}
if( $plain_text ){
_e('Your referral code is: ','gens-raf') . $code;
} else {
echo '<p style="text-align:center;margin-top:10px;">Your referral code is: ' .get_home_url() .'?raf='. $code . '</p>';
}
}
add_action('woocommerce_email_customer_details', 'gens_raf_customer_email', 30, 3 );
但这会将信息添加到 WooCommerce 邮件的底部,有没有办法在订单详细信息上方显示相同的信息?在营销方面,这将是客户首先看到的。
解决方案
是的,woocommerce_email_before_order_table
您可以使用 WC 过滤器挂钩。这将在订单表上方显示信息。代码将进入您的活动主题 functions.php 文件。
function gens_raf_customer_email( $order, $sent_to_admin, $plain_text, $email ) {
$user_id = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->customer_user : $order->get_customer_id();
if( ! empty( $user_id ) && ( get_user_meta($user_id, "gens_referral_id", true) ) != '' ){
$code = get_user_meta($user_id, "gens_referral_id", true);
} else {
$code = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->billing_email : $order->get_billing_email();
}
if( $plain_text ){
_e('Your referral code is: ','gens-raf') . $code;
} else {
echo '<p style="text-align:center;margin-top:10px;">Your referral code is: ' .get_home_url() .'?raf='. $code . '</p>';
}
}
add_action('woocommerce_email_before_order_table', 'gens_raf_customer_email', 30, 4 );
推荐阅读
- ios - 从 iOS 中的文本视图中删除单行
- python - Scrapy 加载不会将所有信息加载到 postgres 中。为什么?
- python - 在两个字符串之间拆分正则表达式 python,但包含使用 re.split 并返回一个列表
- python - 在 Keras 中训练 GAN 时,是否需要多次通过来优化生成器和判别器?
- android - 将kotlin数据类转换为json字符串
- javascript - 从 expo-video-player 获取“setAudioModeAsync 错误”
- python-3.x - 根据公共列上的匹配值合并 2 个 CSV 文件并将组合的新集合写入新的 CSV 文件
- mocking - 开玩笑模拟exports.name 无法正常工作
- angular - 关于在组件中直接更新服务数据的问题
- php - Wordpress 城市前缀到 url 作为子域和子页面