通过导入创建时,SKU 无法搜索 WooCommerce 产品

WooCommerce product not searchable by SKU when created by import

使用 CSV 导入产品时,可以搜索按名称导入创建的产品之一,但无法搜索 SKU returns。这在管理员和店面都是如此(使用可以按 SKU 搜索的搜索插件)。

创建的产品也显示在产品列表的顶部,并且正确列出了 SKU。

如果产品已更新(进入编辑或快速编辑并单击更新),则可以在管理和商店中通过 SKU 搜索它。

如果产品是手动创建的,然后通过导入进行更新,这不是问题。

我遇到了同样的问题,并且在 WooCommerce 的内置 CSV 导入后出现了症状(在我手动发布或更新之前不会在搜索中找到)。它还影响了 WooCommerce 的销售点(无法搜索 SKU 以生成条形码)。

我发现解决方案是重建 WooCommerce 索引,我转到 WooCommerce 设置 -> 搜索 -> 索引 -> 重建,然后 运行 索引器。我相信索引器在每次发布时都会刷新,并且由于某种原因在 CSV 导入时不会刷新。

我的管理员搜索和销售点搜索在那之后起作用了。这是在 WooCommerce 4.0.1 上。

我还发现搜索必须在搜索字段中至少包含三个 SKU 字符才能获得 return 结果。

我遇到了同样的问题,我使用 ImportWP 导入了产品。管理员产品搜索不会通过 sku 找到任何东西,ImportWP 停止工作,WooCommerce 导入会抱怨“不存在要更新的匹配产品。”。这可以通过将 SKU 从“123”切换到“1234”并返回“1234”以某种方式刷新索引来解决。我查看了数据库,在 table wc_product_meta_lookup 中,我新导入的产品的 sku 字段为空。我 运行 以下查询现在更新再次工作。

Update
  wc_product_meta_lookup as C
  inner join (
    SELECT post_id, meta_value as sku FROM `postmeta` where meta_key = "_sku"
  ) as A on C.product_id = A.post_id
set C.sku = A.sku

这是在 Wordpress 5.8.3 和 WC 6.0.0 上运行的,所以看起来这个错误仍然会发生。