我有一个插件(automatewoo),它为Woocommerce默认模板制作自定义电子邮件模板 . 它用自定义格式替换默认模板 . 问题是现在可以将可用的跟踪号添加到"order complete"电子邮件中 . 插件(automateWoo)只允许我们自定义电子邮件模板WYSIWYG HTML Editor

现在,我有另一个插件(alidropship),它在可用时获取跟踪代码,并使用默认电子邮件模板自动发送给客户 . 但我使用自定义电子邮件模板,我关闭了woocommerce的默认“订单完整”模板 .

在我联系了alidropship支持后,他们给了我以下代码片段,其中包含相应的项目ID和订单ID以及返回跟踪号码 . 我无法使用钩子将其添加到我的子主题中,因为我不使用默认顺序完整的电子邮件模板 . 因此,我只是想知道是否有一种方法可以将此功能作为Wordpress SHORT CODE,这样我就可以将该短代码放入我的电子邮件html模板中 .

该函数需要更多的工作来获取项目n订单ID:

function get_tracking($item_id, $order){ 
    $ord = new \adsw\adsOrdersView( $item_id, $order->get_id() );

    if( empty($ord→get_prop( 'adsw_tip' )) ) return null; 
    $tracking_link = get_option( 'adsw-tracking', '17track' ); 

    return [ 
        'order_number' => $ord->get_prop( 'adsw_order_number' ),
        'url' => adsw_get_tracking_url( $tracking_link ) . $ord->get_prop( 
        'adsw_tip' ), 
        'id' => $ord->get_prop( 'adsw_tip' ) 
    ]; 
}

哪里:

  • $order 是WooCommerce中的订单对象

  • $item_id 是按顺序排列的位置ID