Automattic\WooCommerce\StoreApi\Utilities
RateLimits::update_rate_limit
Sets the rate limit delay in seconds for action with identifier $id.
Метод класса: RateLimits{}
Хуков нет.
Возвращает
Объект. Current rate limits.
Использование
$result = RateLimits::update_rate_limit( $action_id ): object;
- $action_id(строка) (обязательный)
- Identifier of the action.
Код RateLimits::update_rate_limit() RateLimits::update rate limit WC 10.8.1
public static function update_rate_limit( string $action_id ): object {
global $wpdb;
$options = self::get_options();
$time = time();
$rate_limit_expiry = $time + (int) $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,
(int) $options->limit - 1,
$time,
$time
)
);
$current_limit = self::get_rate_limit_row( $action_id );
self::set_cache( $action_id, $current_limit );
return $current_limit;
}