由SKU搜索WooCommerce Admin产品

Sak*_*vic 3 php wordpress woocommerce

所以我一直在寻找一种方法来合并它,而无需安装另外一个比我需要更多的插件.

假设我们的产品SKU的结构是提供供应商编号,然后是破折号( - ),然后是产品ID.所以我们的SKU看起来像这样469-852369(供应商产品).供应商ID可以是1到5位数字,产品ID可以是1到10位数.我们希望能够搜索产品而无需添加短划线( - ).因此,对于469-852369,我希望能够输出469852369并显示该产品.

我知道有很多插件可以做到这一点,但我不想添加插件只是为了完成这个问题.有关如何通过PHP实现此目的的任何帮助和指导都会有所帮助.

Ahm*_*ani 5

您可以将自定义查询设置为搜索结果.通过"469852369"正常搜索时,您可以在"469-852369"等3位数之后追加" - ",然后将其传递给WordPress查询以获得结果.

function get_product_by_sku( $sku ) {

  global $wpdb;

  $sku = implode("-", str_split($sku, 3));

  $product_id = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key='_sku' AND meta_value='%s' LIMIT 1", $sku ) );

  if ( $product_id ) return new WC_Product( $product_id );

  // YOUR CODE

  return null;

}
Run Code Online (Sandbox Code Playgroud)

希望这对你有所帮助.

谢谢.