致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';
}
在我看来,将术语数组组合在一起看起来很准确。