WC_Coupon_Data_Store_CPT::update_usage_count_meta
Increase or decrease the usage count for a coupon by 1.
Метод класса: WC_Coupon_Data_Store_CPT{}
Хуков нет.
Возвращает
int. New usage count
Использование
// private - только в коде основоного (родительского) класса $result = $this->update_usage_count_meta( $coupon, $operation );
- $coupon(WC_Coupon) (обязательный) (передается по ссылке — &)
- Coupon object.
- $operation(строка)
'increase'or'decrease'.
По умолчанию:'increase'
Список изменений
| С версии 3.0.0 | Введена. |
Код WC_Coupon_Data_Store_CPT::update_usage_count_meta() WC Coupon Data Store CPT::update usage count meta WC 10.7.0
private function update_usage_count_meta( &$coupon, $operation = 'increase' ) {
global $wpdb;
$id = $coupon->get_id();
$operator = ( 'increase' === $operation ) ? '+' : '-';
add_post_meta( $id, 'usage_count', $coupon->get_usage_count( 'edit' ), true );
$wpdb->query(
$wpdb->prepare(
// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
"UPDATE $wpdb->postmeta SET meta_value = meta_value {$operator} 1 WHERE meta_key = 'usage_count' AND post_id = %d;",
$id
)
);
$this->refresh_coupon_data( $coupon );
// Get the latest value direct from the DB, instead of possibly the WP meta cache.
return (int) $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = 'usage_count' AND post_id = %d;", $id ) );
}