在 WooCommerce 中创建自定义变量用于后续电子邮件扩展

问题描述

我有 Bookings 插件以及 WooCommerceFollow Ups Email 插件,它允许创建在某些情况下触发的电子邮件事件,例如新的预订。 Follow Ups 插件使用可在插件的电子邮件模板中使用的变量,以便在电子邮件显示订单/预订数据。

例如您可以调用预订日期:

{booking_date} 输出预订产品或服务的日期(所有变量的列表:https://docs.woocommerce.com/document/automated-follow-up-emails-docs/email-variables-and-merge-tags/

但是,由于某种原因,插件没有预订 ID 作为定义的变量。但是可以选择创建自定义变量,这正是我要为 Booking ID 实现的目标。该文档提供了两个 2 个示例:https://docs.woocommerce.com/document/automated-follow-up-emails-docs/custom-variables/

示例 1

add_action( 'fue_before_variable_replacements','fue_register_variable_replacements',10,4);

function fue_register_variable_replacements( $var,$email_data,$fue_email,$queue_item ) { 
$variables = array(
    'referral_code' => ''
);

if ( isset( $email_data['test'] ) && $email_data['test'] ) {
    $variables['referral_code'] = '13221';

    if ( !empty( $email_data['order_id'] ) ) {
        $order = wc_get_order( $email_data['order_id'] );
        $referral_code = get_user_Meta( $order->customer_user,'_affiliate_key',true );

        if ( !empty( $referral_code ) ) {
            $variables['referral_code'] = $referral_code;
        }
    }
} else {
    if ( !empty( $queue_item->order_id ) ) {
        $order = wc_get_order( $queue_item->order_id );
        $referral_code = get_user_Meta( $order->customer_user,true );

        if ( !empty( $referral_code ) ) {
            $variables['referral_code'] = $referral_code;
        }
    }
}

$var->register( $variables );
}

示例 2

add_filter( 'fue_variable_replacements',3);

function fue_register_variable_replacements( $variables,$queue_item,$fue_email ) {
$license_key = '';

foreach ( $licenses as $license) {
    if ( $license->software_product_id == 'the_matching_product_id' ) {
        $license_key = $license->licence_key;
        break;
    }
}

$variables['serial_key'] = $license_key;
return $variables;
}

但是,我不明白如何将其应用于预订 ID?问题还在于 1 个订单可以有多个预订,因此可以有多个预订 ID。

我询问了 WooCommerce 支持,但他们不会对此提供帮助。

谁能帮我创建一个代码,以便我可以注册并将bookings_id用作{variable}?

我真的很感激任何帮助!

非常感谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)