有条件的WooCommerce电子邮件通知页脚基于订购的产品类别



致Stack Overflow的好人,

我正在尝试创建一个";升级安全";定制客户下单时收到的标准WooCommerce电子邮件通知电子邮件页脚的方式(作为我的主题的functions.php文件中的一个函数(。

我试图实现的是,当订购特定类别的产品时,在所述电子邮件页脚中添加自定义文本,但老实说,我在类别的in_array测试中有点吃力,我很确定我做得不太好!

如果你们中有人能告诉我哪里错了,我将永远感激!

function farm_shop_woocommerce_email_footer( $order, $sent_to_admin, $plain_text, $email ) { 
$items = $order->get_items();

foreach ( $items as $item ) {        

$terms = wp_get_post_terms( $item['product_id'], 'product_cat' );

foreach($terms as $term){

$term_names[] = $term->name; // Product cat Name

//$term->term_id; Product cat Id
//$term->slug; Product cat slug

}

}

if ( in_array('Farm Shop', 'Cowdray Kitchen', 'Cowdray Living', 'The Meditator', 'Cowdray Hampers', 'Cowdray Supper Kits', 'Grocery', 'Butchery', 'Deli', 'Pantry', 'Houseplants and Flowers', 'Picnic Hampers', 'Afternoon Tea', 'Drinks', 'Wreaths', $term_names) ) {

echo 'Cowdray Farm Shop Ltd<br>VAT Number: 970407718';

}

}; 
add_action( 'woocommerce_email_footer', 'farm_shop_woocommerce_email_footer', 10, 4 ); 

我注意到您没有正确使用in_array:

你能像这个例子一样把你的字符串集放在数组中吗;密切关注";array('x','y'(":

if (in_array(array('x', 'y'), $yourTermsArray)) {
echo 'something matched';
}

在我看来,将术语数组组合在一起看起来很准确。

最新更新