重写WooCommerce功能包括文件夹
问题描述:
我期待作一些修改,以在WooCommerce的功能,在一个叫做类-WC-产品variation.php在woocommerce文件/包括/重写WooCommerce功能包括文件夹
功能我在寻找修改为:
public function variation_is_visible() {
$visible = true;
// Published == enabled checkbox
if (get_post_status($this->variation_id) != 'publish') {
$visible = false;
}
// Out of stock visibility
elseif (get_option('woocommerce_hide_out_of_stock_items') == 'yes' && ! $this->is_in_stock()) {
$visible = false;
}
// Price not set
elseif ($this->get_price() === "") {
$visible = false;
}
return apply_filters('woocommerce_variation_is_visible', $visible, $this->variation_id, $this->id);
}
我需要添加另一个ELSEIF行有像这样:
elseif (get_option('woocommerce_hide_out_of_stock_items') != 'yes' && ! $this->is_in_stock()) {
$visible = false;
}
如何做到这一点无需改变核心文件?
答
你不应该修改插件中的核心文件。在给定的功能中,有过滤器woocommerce_variation_is_visible
可用。使用该过滤器根据您的需要进行定制。 核心文件中的代码是:
return apply_filters('woocommerce_variation_is_visible', $visible, $this->variation_id, $this->id);
在我的子主题的functions.php中,这看起来如何?我不太确定那里会发生什么。我想它会是:add_filter('woocommerce_variation_is_visible','custom_variation_is_visible'); 还有其他的变数吗?函数本身应该怎么做? – Rocky 2014-10-28 14:44:28