Woocommerce Filter Products by Price widget – filter by price in custom field

I have products with price per package in eshop. I also created custom field with product price per square meters. Products are sold only by package not by square meters, but on archive page I need filtering products by price per square meters. I unregistered WC_Widget_Price_Filter widget and registered modified version of that widget, which displays correct min and max prices in square meters in filter slider. I modified function price_filter_post_clauses to display correct products. Function is located in includes/class-wc-query.php.

public function price_filter_post_clauses( $  args, $  wp_query ) {     global $  wpdb;      // phpcs:ignore WordPress.Security.NonceVerification.Recommended     if ( ! $  wp_query->is_main_query() || ( ! isset( $  _GET['max_price'] ) && ! isset( $  _GET['min_price'] ) ) ) {         return $  args;     }      // phpcs:disable WordPress.Security.NonceVerification.Recommended     $  current_min_price = isset( $  _GET['min_price'] ) ? floatval( wp_unslash( $  _GET['min_price'] ) ) : 0;     $  current_max_price = isset( $  _GET['max_price'] ) ? floatval( wp_unslash( $  _GET['max_price'] ) ) : PHP_INT_MAX;     // phpcs:enable WordPress.Security.NonceVerification.Recommended      /**      * Adjust if the store taxes are not displayed how they are stored.      * Kicks in when prices excluding tax are displayed including tax.      */     if ( wc_tax_enabled() && 'incl' === get_option( 'woocommerce_tax_display_shop' ) && ! wc_prices_include_tax() ) {         $  tax_class = apply_filters( 'woocommerce_price_filter_widget_tax_class', '' ); // Uses standard tax class.         $  tax_rates = WC_Tax::get_rates( $  tax_class );          if ( $  tax_rates ) {             $  current_min_price -= WC_Tax::get_tax_total( WC_Tax::calc_inclusive_tax( $  current_min_price, $  tax_rates ) );             $  current_max_price -= WC_Tax::get_tax_total( WC_Tax::calc_inclusive_tax( $  current_max_price, $  tax_rates ) );         }     }      $  args['join']   = $  this->append_product_sorting_table_join( $  args['join'] );     $  args['where'] .= $  wpdb->prepare(         ' AND wc_product_meta_lookup.min_price >= %f AND wc_product_meta_lookup.max_price <= %f ',         $  current_min_price,         $  current_max_price     );     return $  args; } 

I modified sql in $ args[‘join’] and $ args[‘where’]. Is it possible to modify this function without modifying it directly?