因此,我一直在寻找一种方法来合并此方法,而无需安装另一个功能超出我所需的插件.
可以说,我们的产品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;
}
希望这对您有所帮助.
谢谢.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。