2014-10-28 74 views
1

我期待作一些修改,以在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; 
    } 

如何做到這一點無需改變核心文件?

回答

0

你不應該修改插件中的核心文件。在給定的功能中,有過濾器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