WooCommerce:如何在客户保留订单邮件中隐藏价格,而不是在其他邮件中隐藏价格?
我需要定制WooCommerce,并在客户保留订单邮件中隐藏所有定价信息,但不在其他邮件中 我之前已经将邮件模板复制到/mytheme/woocommerce/emails,因为它们已经被修改,所以我复制了 email-order-items.php和 email-order-details.php 到 email-order-items-noprice.php和 email-order-details-noprice.php …并将其修改为不显示价格 现在我相信我必须更改customer-on-hold-order.php来调用我的新noprice文件 在这个文件中我可以看到WooCommerce:如何在客户保留订单邮件中隐藏价格,而不是在其他邮件中隐藏价格?,woocommerce,hook-woocommerce,Woocommerce,Hook Woocommerce,我需要定制WooCommerce,并在客户保留订单邮件中隐藏所有定价信息,但不在其他邮件中 我之前已经将邮件模板复制到/mytheme/woocommerce/emails,因为它们已经被修改,所以我复制了 email-order-items.php和 email-order-details.php 到 email-order-items-noprice.php和 email-order-details-noprice.php …并将其修改为不显示价格 现在我相信我必须更改customer-on
do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email );
我希望我能把线路改成
do_action( 'woocommerce_email_order_details_noprice', $order, $sent_to_admin, $plain_text, $email );
…但是什么也没发生。这可能是因为钩子“woocommerce\u email\u order\u details\u noprice”不存在
我必须做什么来创建这个钩子,在哪里?
还是有更好的解决办法
非常感谢 只需执行以下操作即可达到您的要求-
email order details.php
和email order items.php
模板,就像您已经做的那样。但是不需要重命名它email order details.php的模板中,替换如下-
啊,好的,您正在检查订单状态。好主意如果($order->get_status()!=='on hold')。。。但是,另一封关于新订单的邮件呢?商店管理员收到的通知他新订单的邮件?因此,我相信,这也有“暂停”的状态,并且会有隐藏的价格,但这里必须显示价格。你怎么看?然后只需修改逻辑为-if($sent\u to\u admin){//add price block}elseif(!$sent\u to\u admin&&&$order->get\u status()!='on hold'){//add price block}
用echo$order->get\u status()检查:两封邮件都有“on hold”。将检查您的新解决方案。只需实现上面注释的逻辑即可。