通过 REST API(清理缓存)更新产品库存数量后触发的 Woocommerce 挂钩

Woocommerce hook that fires after a product stock quantity is updated via REST API (clean cache)

我希望你能帮我解决这个问题。

我有 Woocommerce 通过 REST 更新库存数量 API,但是我使用缓存插件 WP Fastest Cahe,它只会在 WP Admin(后端)手动更新时清除产品缓存API 更新插件不会触发产品缓存清除的库存量。然而,他们确实为此目的提供了一个钩子 //它清除了 ID 为 1923 的 post wpfc_clear_post_cache_by_id(1923); 说明这一切的link就是这个https://www.wpfastestcache.com/tutorial/delete-the-cache-by-calling-the-function/

我不是程序员,但下面的代码可以工作吗?当有 API 更新时,我该怎么做才能触发挂钩?

有什么建议吗?

如果能提供一些帮助,我将不胜感激:)

add_action( 'woocommerce_update_product', 'remover_cache_produto', 10, 1 );
function remover_cache_produto($product_id) {
        $product = wc_get_product($product_id);
        
        wpfc_clear_post_cache_by_id($product_id);  //clean cache
    }

您正在使用 woocommerce_update_product 操作挂钩,当您从 wordpress 后端以及其他 api.

更新产品时会触发该挂钩

因此,当您通过 rest api 更新产品时,将执行名为 remover_cache_produto 的函数。您正在使用正确的操作挂钩。

在您的函数中,您创建了一个您未使用的变量 $product。所以你可以摆脱那条线。

将代码放入主题的 functions.php 文件中或创建一个小的 wordpress 插件以使其工作。