【问题标题】:Overloading woocommerce/wordpress methods (instead of overriding template files)重载 woocommerce/wordpress 方法(而不是覆盖模板文件)
【发布时间】:2014-01-16 13:38:58
【问题描述】:

我一直在努力寻找这个(看似简单的)问题的答案。它是关于在 Wordpress 插件中重载方法,特别是在 WooCommerce 中。

我正在建立一个 Woocommerce 网站并且知道如何覆盖模板文件,但我的问题是这个。

我不喜欢 get_order_item_totals() (WC_Order) 的输出 - 即使我在购物车/结帐中显示包含增值税的价格,我也希望增值税在其自己的行上可见。由于该方法在多个地方被调用,因此覆盖所有这些地方的模板文件(emails/customer-completed-order.php 和 order/order-details.php 等)似乎有点乏味和“非 DRY” )。

我也不想更改核心文件,因为我知道当我升级系统时会撞到风扇而忘记了我进行了更改。

有没有办法从主题中重载(例如)order->get_order_item_totals()?

我们将不胜感激 乔金·卡尔斯滕

【问题讨论】:

    标签: php wordpress woocommerce overloading


    【解决方案1】:

    没关系。

    我通过使用 get_order_item_totals 最后调用的过滤器解决了这个问题。在那里我更改了 $totals_rows 数组。

    :)

    【讨论】:

      猜你喜欢
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 2013-02-26
      • 2015-09-15
      • 1970-01-01
      • 2018-06-03
      • 2015-11-16
      相关资源
      最近更新 更多