首页 > 解决方案 > 如何通过 cron 作业在 WooCommerce -> 状态 -> 工具上运行自动重新生成产品查找表?

问题描述

我已经使用一些 API 导入了产品。但是每次我导入产品时,都会要求重新生成 woocommerce 查找表。那么如何WooCommerce -> Status -> Tools通过 cron 作业以编程方式运行 Regenerate Product 查找表呢?

标签: woocommerce

解决方案


这个问题已经有一年多了,所以我猜你要么已经解决了,要么继续前进。我在这里发布这个更多的是作为将来研究此问题的任何人的捷径。

您有几种方法可以完成为 WooCommerce 重新生成产品查找表。

1. 使用 WooCommerce REST API

WooCommerce REST API 文档在这里非常有用。执行 GET 请求以从系统状态获取所有可用工具的列表,然后按照此处文档中的说明运行 PUT 请求 - https://woocommerce.github.io/woocommerce-rest-api-docs/#retrieve-来自系统状态的工具

在发出这些请求之前,您需要在 WooCommerce 中生成 API 密钥。他们在这里也有很好的记录 - https://docs.woocommerce.com/document/woocommerce-rest-api/

2. 使用 WP-CLI

如果你是一个顽固的 WordPress 开发者,你可以从使用 WP-CLI 工具中受益 - https://make.wordpress.org/cli/handbook/

你会运行命令wp wc tool run regenerate_product_lookup_tables --user=1

3. 将其放入 WordPress 管理面板

如 WooCommerce 开发人员文档中所述,您可以使用该类中的update_lookup_table方法WC_Data_Store_WP- https://developer.woocommerce.com/2019/04/01/performance-improvements-in-3-6/

这感觉有点矫枉过正,因为您只需转到WooCommerce > Status > Tools > Product lookup tables并单击右侧的“重新生成”按钮即可。我想如果你使用像 Selenium 这样的自动化工具来登录你的 WordPress 并做一些事情,它可能会很有用。我可以看到update_lookup_table在自定义管理页面或插件中使用以减少脚本需要导航的点击量和页面加载量的好处。


推荐阅读