Wordpress / Woocommerce钩入一个函数



我很感激以前有人问过类似的问题,但我尝试过的答案并没有满足我的需求。

基本上

我在woocommerce插件文件夹结构中有此文件:

wp-content\plugins\woocommerce\include\wc-coupon-functions.php

文件内部是以下函数:

function wc_get_cart_coupon_types() {
return (array) apply_filters( 'woocommerce_cart_coupon_types', array( 'fixed_cart') );
}

我需要覆盖它,以便它返回数组中的附加项目,但我尝试过的任何方法都没有奏效。我试过:

  1. 在我的自定义主题文件中创建相同的文件
  2. 使用以下代码在我的函数文件中挂钩函数:

    函数 woocommerce_coupon_get_cart_coupon_types(( { return (array( apply_filters( 'woocommerce_cart_coupon_types', array( 'fixed_cart', 'custom_discount' ( (; }

    add_filter("wc_get_cart_coupon_types", "woocommerce_coupon_get_cart_coupon_types",10, 1(;

任何其他建议也将不胜感激.....我直接在文件中进行了更改,它绝对有效。谢谢

你的#2方法就是如何做到这一点,但你基本上陷入了循环情况。

您需要这样做:

function wpso59974749_woocommerce_coupon_get_cart_coupon_types( $data ) { 
$data[ 'your_new_key_here' ] = 'your new value here';
return $data;
}
add_filter('woocommerce_cart_coupon_types','wpso59974749_woocommerce_coupon_get_cart_coupon_types',10, 1);

您不应该将apply_filter重新添加到函数中,因为它会卡在循环中 - 本质上是一遍又一遍地重新过滤自己。

我为您的函数添加前缀,因此如果有另一个woocommerce_coupon_get_cart_coupon_types函数,它不会冲突。

相关内容

  • 没有找到相关文章

最新更新