我在这里搜索过,有些帖子帮助我解决了这个问题:
我的包裹公司在订单中添加了订单备注,包括文本和包裹的跟踪网址。然后他们就把订单完成了。
此URL需要添加到订单已完成的邮件中。
此代码正常运行,但仅限于我手动发送订单已完成邮件:
add_action( 'woocommerce_email_before_order_table', 'woo_add_order_notes_to_email' );
function woo_add_order_notes_to_email() {
global $woocommerce, $post;
$args = array(
'post_id' => $post->ID,
'status' => 'approve',
'type' => 'order_note'
);
$notes = get_comments( $args );
if ( $notes ) {
foreach( $notes as $note ) {
$notecontent = $note->comment_content;
if( preg_match('/[a-zA-Z]+:\/\/[0-9a-zA-Z;.\/?:@=_#&%~,+$-]+/', $notecontent, $matches) != 0 ) {
echo '<p>You can follow your order via this link: <a href = "' . $matches[0] . '">' . $matches[0] . '</a></p>';
}
}
}
}
我希望你们能帮助我。
答案 0 :(得分:0)
我认为你使用了错误的钩子。
你可以用这个钩子'woocommerce_email_order_meta'做同样的事情。它将解决您的问题。
这是代码示例
add_action( 'woocommerce_email_order_meta', 'woo_add_order_notes_to_email' );
function woo_add_order_notes_to_email( $order, $sent_to_admin = false, $plain_text = false ) {
/*Do something here to add with order completion email */
}