gpt4 book ai didi

php - 摆脱 Woocommerce 订单查询

转载 作者:行者123 更新时间:2023-12-04 07:14:40 29 4
gpt4 key购买 nike

使用 woocommerce 的订单面板时,我注意到使用搜索执行了不必要的查询。这是对 Woocommerce 文件(/includes/data-stores/class-wc-order-data-store-cpt.php)的查询:
选择订单 ID
FROM {$wpdb->prefix}woocommerce_order_items as order_items
WHERE order_item_name LIKE '%%%s%%'
这是 Woocommerce 代码:

  public function search_orders( $term ) { 
global $wpdb; $search_fields = array_map( 'wc_clean', apply_filters( 'woocommerce_shop_order_search_fields', array(
'_billing_address_index',
'_shipping_address_index',
'_billing_last_name',
'_billing_email', ) ) );
$order_ids = array();

if ( is_numeric( $term ) ) {
$order_ids[] = absint( $term );
}

if ( ! empty( $search_fields ) ) {
$order_ids = array_unique( array_merge(
$order_ids,
$wpdb->get_col(
$wpdb->prepare( "SELECT DISTINCT p1.post_id FROM {$wpdb->postmeta} p1 WHERE p1.meta_value LIKE '%%%s%%'", $wpdb->esc_like( wc_clean( $term ) ) ) . " AND p1.meta_key IN ('" . implode( "', '", array_map( 'esc_sql', $search_fields ) ) . "')" ),
$wpdb->get_col(
$wpdb->prepare( "
SELECT order_id
FROM {$wpdb->prefix}woocommerce_order_items as order_items
WHERE order_item_name LIKE '%%%s%%'
",
$wpdb->esc_like( wc_clean( $term ) ) ) ) ) );
}

return apply_filters( 'woocommerce_shop_order_search_results', $order_ids, $term, $search_fields ); }
有没有办法用函数摆脱这个查询?

最佳答案

您可以使用 __return_false在它上面,像这样:

add_filter( 'woocommerce_shop_order_search_results', '__return_false')

__return_falseDocs


代码转到 functions.php事件主题的文件。

关于php - 摆脱 Woocommerce 订单查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68840539/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com