Automattic\WooCommerce\StoreApi\Utilities
RateLimits::update_rate_limit()
Sets the rate limit delay in seconds for action with identifier $id.
Method of the class: RateLimits{}
No Hooks.
Return
Object
. Current rate limits.
Usage
$result = RateLimits::update_rate_limit( $action_id );
- $action_id(string) (required)
- Identifier of the action.
RateLimits::update_rate_limit() RateLimits::update rate limit code WC 8.6.1
public static function update_rate_limit( $action_id ) { global $wpdb; $options = self::get_options(); $rate_limit_expiry = time() + $options->seconds; $wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb->prefix}wc_rate_limits (`rate_limit_key`, `rate_limit_expiry`, `rate_limit_remaining`) VALUES (%s, %d, %d) ON DUPLICATE KEY UPDATE `rate_limit_remaining` = IF(`rate_limit_expiry` < %d, VALUES(`rate_limit_remaining`), GREATEST(`rate_limit_remaining` - 1, 0)), `rate_limit_expiry` = IF(`rate_limit_expiry` < %d, VALUES(`rate_limit_expiry`), `rate_limit_expiry`); ", $action_id, $rate_limit_expiry, $options->limit - 1, time(), time() ) ); $current_limit = self::get_rate_limit_row( $action_id ); self::set_cache( $action_id, $current_limit ); return $current_limit; }