WooCommerce:WebHook自行禁用

时间:2016-01-18 作者:Alex Seif

我正在开发一个订单管理系统WooCommerce 但是Webhook 行为不规则。这个Webhook 自行禁用。

我已经向用户进行了调查,他们都没有权限。管理员没有触及此部分,也没有更新任何插件。

这有什么原因吗?也许从我这边返回http错误?

WordPress: 4.4.1
WooCommerce: 2.3.8

3 个回复
最合适的回答,由SO网友:Alex Seif 整理而成

显然,WooCommerce Webhook会因交付失败而自动禁用。https://docs.woothemes.com/document/webhooks/#section-3

“禁用”(由于传递失败而不传递)。

SO网友:Phobos

如果您不想每次WooCommerce更新时都修复此问题,只需在子主题中创建一个过滤器:

function overrule_webhook_disable_limit( $number ) {
    return 999999999999; //very high number hopefully you\'ll never reach.
}
add_filter( \'woocommerce_max_webhook_delivery_failures\', \'overrule_webhook_disable_limit\' );

SO网友:Jakub Mucha

由于交付失败而自动禁用(如上所述)。

因为我非常依赖它们,而且从不希望它们被禁用(无论发生什么),所以可以更改调用的函数failed_delivery() 在此文件中:plugins/woocommerce/includes/class-wc-webhook.php对此:

private function failed_delivery() {

    $failures = $this->get_failure_count();

    if ( $failures > apply_filters( \'woocommerce_max_webhook_delivery_failures\', 5 ) ) {

        //$this->update_status( \'disabled\' );
        update_post_meta( $this->id, \'_failure_count\', ++$failures );

    } else {

        update_post_meta( $this->id, \'_failure_count\', ++$failures );
    }
}
它们将永远不会再被自动禁用。

相关推荐