Automattic\WooCommerce\Internal\OrderWithdrawal
OrderWithdrawalFormProcessor::apply_rate_limits
Set or clear the order withdrawal submission rate limits.
Method of the class: OrderWithdrawalFormProcessor{}
No Hooks.
Returns
bool. True if all rate limits were applied, false otherwise.
Usage
// private - for code of main (parent) class only $result = $this->apply_rate_limits( $rate_limit_ids, $delay ): bool;
- $rate_limit_ids(string[]) (required)
- Rate limit IDs.
- $delay(int)
- Delay in seconds for the rate limit. Use -1 to clear the rate limit.
Default:self::RATE_LIMIT_DELAY
OrderWithdrawalFormProcessor::apply_rate_limits() OrderWithdrawalFormProcessor::apply rate limits code WC 11.1.2
private function apply_rate_limits( array $rate_limit_ids, int $delay = self::RATE_LIMIT_DELAY ): bool {
$applied_rate_limit_ids = array();
foreach ( $rate_limit_ids as $rate_limit_id ) {
if ( ! WC_Rate_Limiter::set_rate_limit( $rate_limit_id, $delay ) ) {
foreach ( $applied_rate_limit_ids as $applied_rate_limit_id ) {
WC_Rate_Limiter::set_rate_limit( $applied_rate_limit_id, -1 );
}
return false;
}
$applied_rate_limit_ids[] = $rate_limit_id;
}
return true;
}