覆盖包含文件夹中的WooCommerce功能

时间:2014-10-28 01:42:30

标签: php wordpress woocommerce

我希望在wooCommerce中对一个名为class-wc-product-variation.php的文件进行一些修改,在woocommerce / includes /

我想要修改的功能是:

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;
    }

如何在不更改核心文件的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

永远不要修改插件中的核心文件。在给定的函数中,有可用的过滤器woocommerce_variation_is_visible。使用该过滤器根据您的需要进行自定义。 核心文件中的代码是:

return apply_filters( 'woocommerce_variation_is_visible', $visible, $this->variation_id, $this->id );
相关问题