php-SKU的WooCommerce管理产品搜索

因此,我一直在寻找一种方法来合并此方法,而无需安装另一个功能超出我所需的插件.

可以说,我们的产品SKU的结构形式如下:供应商编号,破折号(-)和产品ID.因此,我们的SKU看起来像是469-852369(供应商产品).供应商ID可以是1到5位之间的任何数字,而产品ID可以是1到10位之间的任何数字.我们希望能够搜索产品而不必添加破折号(-).因此,对于469-852369,我希望能够只输入469852369,产品就会出现.

我知道有很多插件可以做到这一点,但我不想添加一个插件来解决这个问题.有关如何通过PHP完成此操作的任何帮助和指导都将有所帮助.

解决方法:

您可以将自定义查询设置为搜索结果.在使用“ 469852369”正常搜索时,您可以在3位数字后添加“-”,例如“ 469-852369”,然后将其传递到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;

}

希望这对您有所帮助.

谢谢.

上一篇:php-从订单ID中获取订阅ID


下一篇:php-如何在WooCommerce中为自定义产品类型启用价格和库存