禁用WooCommerce插件中的公共功能

问题描述 投票:0回答:1

我正在使用Woocommerce Admin自定义订单字段插件,该插件在后端搜索订单时引起问题。当我在管理员命令搜索功能上运行慢速查询时,它将搜索这些自定义字段并为搜索增加10秒左右的时间。

我已经找到了与插件兼容的功能,我正在尝试找出禁用搜索中包含的自定义字段的最佳方法。

当我注释掉这段代码时,搜索很快,几秒钟。我想在我的functions.php中添加替代或以某种方式禁用它。

public function add_search_fields( $search_fields ) {

    foreach ( wc_admin_custom_order_fields()->get_order_fields() as $order_field ) {

        if ( 'date' === $order_field->type  ) {
            array_push( $search_fields, $order_field->get_meta_key() . '_formatted' );
        } else {
            array_push( $search_fields, $order_field->get_meta_key() );
        }
    }

    return $search_fields;
}

[谁能给我一些关于如何在不直接编辑插件文件的情况下停止执行的指示吗?干杯尼克

php wordpress function woocommerce overwrite
1个回答
1
投票

不要注释所有功能代码,而只注释功能内部的活动代码,例如:

public function add_search_fields( $search_fields ) {
    /* 
    foreach ( wc_admin_custom_order_fields()->get_order_fields() as $order_field ) {

        /* if ( 'date' === $order_field->type  ) {
            array_push( $search_fields, $order_field->get_meta_key() . '_formatted' );
        } else {
            array_push( $search_fields, $order_field->get_meta_key() );
        }
    }
    */  
    return $search_fields;
}

现在,此功能将无效,因为它的活动代码已被注释。

现在覆盖任何核心插件代码实际上是要避免的事情 ...总是有不同的更改方法,例如使用可用的挂钩,其他事情可能会更复杂...

© www.soinside.com 2019 - 2024. All rights reserved.