Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示使用过的优惠券+;商业订单电子邮件上的特定信息_Php_Wordpress_Woocommerce_Email Notifications_Coupon - Fatal编程技术网

Php 显示使用过的优惠券+;商业订单电子邮件上的特定信息

Php 显示使用过的优惠券+;商业订单电子邮件上的特定信息,php,wordpress,woocommerce,email-notifications,coupon,Php,Wordpress,Woocommerce,Email Notifications,Coupon,我试图在商业订单电子邮件上显示使用过的优惠券,并根据使用过的优惠券添加特定消息 展示优惠券是基于 我试图通过检查字符串$coupon\u codes是否包含特定单词/特定优惠券(在本例中为“团购”)来扩展它,然后显示一条消息 它需要用于$优惠券\u代码,因为它可以(并且将)与多张优惠券一起使用 我设法使它与以下代码一起工作 问题在于(strpos)无论何时使用任何优惠券,它都会显示消息,无论优惠券上写了什么,我也不明白为什么 我遵循这个答案背后的strpos逻辑 //在电子邮件上显示使用过

我试图在商业订单电子邮件上显示使用过的优惠券,并根据使用过的优惠券添加特定消息

展示优惠券是基于


我试图通过检查字符串
$coupon\u codes
是否包含特定单词/特定优惠券(在本例中为“团购”)来扩展它,然后显示一条消息

它需要用于
$优惠券\u代码
,因为它可以(并且将)与多张优惠券一起使用

我设法使它与以下代码一起工作

问题在于(strpos)无论何时使用任何优惠券,它都会显示消息,无论优惠券上写了什么,我也不明白为什么

我遵循这个答案背后的strpos逻辑

//在电子邮件上显示使用过的优惠券并添加团购警告
添加操作('WOOMerce\u email\u在订单表之后,'display\u applicated\u coups',10,4);
功能显示应用的优惠券($order,$sent,$admin,$plain,$email){
//仅适用于管理员,且订单中至少有一张优惠券
如果(!$sent_to_admin&&count($order->get_items('优惠券'))==0)返回;
foreach($order->get_items('优惠券')作为$优惠券){
$优惠券\代码[]=$优惠券->获取\代码();
}
//一张优惠券
if(计数($优惠券代码)==1){
$优惠券代码=重置($优惠券代码);
回显“”。u_('Used优惠券:')。$优惠券代码。“”;
}
//多张优惠券
否则{
$优惠券代码=内爆(“,”,$优惠券代码);
回显“”.uuuuuuu('Used优惠券:').$优惠券代码。“”;
}
if(strpos($优惠券代码,'grouppurchase')!==false){
使用此优惠券回显“”。您将参与团购。“”;
}
}
这样试试看

//连接的显示文本的电子邮件函数
功能显示应用的优惠券($order,$sent,$admin,$plain,$email){
//仅适用于管理员,且订单中至少有一张优惠券
如果(!$sent_to_admin&&count($order->get_items('优惠券'))==0)返回;
foreach($order->get_items('优惠券')作为$优惠券){
$优惠券\代码[]=$优惠券->获取\代码();
}
//一张优惠券
if(计数($优惠券代码)==1){
$优惠券代码=重置($优惠券代码);
//设置变量输出
$output=“”。uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
//额外的
if(strpos($优惠券代码,'grouppurchase')!==false){
//附加到
$output.=''.\uuuu('使用此优惠券,您将参与团购,'woocommerce')。

'; } //回波输出 echo$输出; }else{//用于多张优惠券 //环路 foreach($优惠券代码作为$优惠券代码){ //设置变量输出 $output=“”。uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu; //额外的 if(strpos($优惠券代码,'grouppurchase')!==false){ //附加到 $output.=''.\uuuu('使用此优惠券,您将参与团购,'woocommerce')。

'; } //回波输出 echo$输出; } } } 添加操作('woocommerce\u email\u order\u details'、'display\u applicated\u coups',10,4);
这在7uc1f3r中有效!非常感谢你。我试图研究主要的差异,看看我是否能理解为什么strpos以前不工作,是它的主要差异让它工作的事实是你设置了一个变量作为输出,而不是像我那样直接向上“回音”?还是有更多的修正?此外,“woocommerce”在这种情况下是什么?再次感谢您的帮助和建议,我非常感谢!!!因为在您的代码中,
str\u pos
用于一张优惠券和多张优惠券。应用1个优惠券时,结果是
数组
,而不是
字符串
。当然看到了!这完全有道理!非常感谢你直截了当的解释,我真的很感激