woocommerce - 如何通过 cron 作业在 WooCommerce -> 状态 -> 工具上运行自动重新生成产品查找表?
问题描述
我已经使用一些 API 导入了产品。但是每次我导入产品时,都会要求重新生成 woocommerce 查找表。那么如何WooCommerce -> Status -> Tools
通过 cron 作业以编程方式运行 Regenerate Product 查找表呢?
解决方案
这个问题已经有一年多了,所以我猜你要么已经解决了,要么继续前进。我在这里发布这个更多的是作为将来研究此问题的任何人的捷径。
您有几种方法可以完成为 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
在自定义管理页面或插件中使用以减少脚本需要导航的点击量和页面加载量的好处。
推荐阅读
- applescript - 如何识别字符串中的 6 个连续数字?
- javascript - React Router V4,不匹配Routes中第一个父级下的任何内容
- powershell - 在 Powershell 中将两个数组输出转换为具有动态更新的表
- google-apps-script - Google Appmaker 中的 JDBC 连接 - 不想在脚本中存储密码
- php - 过滤数据后出现 JSON 错误,但页面加载正常但未过滤
- javascript - 在 jQuery 中选择下一个“选择”项
- android - 未解决的参考:活动错误
- javascript - 将音频 blob 作为 wav 上传到本地服务器文件夹时出错
- ionic-framework - 如何使用 Ionic4 查看电池的状态?
- reactjs - 当通过 axios 发送请求时,Mysql 数据库没有得到更新