重写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); 
+0

在我的子主题的functions.php中,这看起来如何?我不太确定那里会发生什么。我想它会是:add_filter('woocommerce_variation_is_visible','custom_variation_is_visible'); 还有其他的变数吗?函数本身应该怎么做? – Rocky 2014-10-28 14:44:28