【问题标题】:Where to add a hooked function code snippet for Woocommerce?在哪里为 Woocommerce 添加挂钩功能代码片段?
【发布时间】:2019-03-11 15:34:59
【问题描述】:

我其实有同样的情况 "WooCommerce send new order email to customer" 线程并尝试应用提供的答案,但我对必须放置这些代码的位置感到困惑。

结束了: wp-content/plugins/woocommerce/templates/emails/admin-new-order.php?或者 wp-content/plugins/woocommerce/templates/emails/plain/admin-new-order.php?

它们都不起作用,是否需要创建新文件?以及必须从哪里调用它?

我会感谢一些指导我的帮助。

【问题讨论】:

  • 感谢您的评论,因为我的“wp-content/themes/flatsome/wooCommerce”中不存在“emails”文件夹。我将创建文件并将其放入其中,但这会给我的结帐页面带来一些问题;关于步骤“结帐详细信息”没有更新到“订单完成”并且确实生成了订单
  • 现在它升级为“订单完成”但仍然没有做任何事情(添加的脚本)

标签: php wordpress templates woocommerce hook-woocommerce


【解决方案1】:

您需要将代码 sn-p(从接受的答案代码)复制到位于您的活动子主题(或活动主题)中的 function.php 文件。

但接受的答案代码自 Woocommerce 3 以来已过时,并且出现了一些错误,例如 get_product_from_item() 方法已弃用和替换

我添加了new up to date clean answer there

仅供参考,您不需要override any Woocommerce template

【讨论】:

  • 知道了,我想,这个功能是从“wp-content/plugins/woocommerce/templates/emails/admin-new-order.php”调用类似“do_action (sv_conditional_email_recipient', $recipient, $order );" ,对吗? ...但是..什么都没有..,仍然没有工作?
  • @WilsonRivas 不需要模板覆盖...抱歉,您似乎已经覆盖了默认的 woocommerce 模板,因为默认的 woocommerce 模板上不存在 do_action (sv_conditional_email_recipient', $recipient, $order );所以您应该重新安装 Woocommerce 插件。现在如前所述,您只需在活动主题的 function.php 文件中添加this code
  • 你好。我跟踪消息,可能问题出在服务器上,我会联系他们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-21
  • 1970-01-01
  • 2018-04-15
  • 2023-03-16
  • 2016-06-13
  • 2021-09-18
相关资源
最近更新 更多