WC_Data_Store_WP::update_or_delete_post_meta
Update meta data in, or delete it from, the database.
Avoids storing meta when it's either an empty string or empty array. Other empty values such as numeric 0 and null should still be stored. Data-stores can force meta to exist using must_exist_meta_keys.
Note: WordPress get_metadata function returns an empty string when meta data does not exist.
Метод класса: WC_Data_Store_WP{}
Хуков нет.
Возвращает
true|false. True if updated/deleted.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->update_or_delete_post_meta( $object, $meta_key, $meta_value );
- $object(WC_Data) (обязательный)
- The WP_Data object (WC_Coupon for coupons, etc).
- $meta_key(строка) (обязательный)
- Meta key to update.
- $meta_value(разное) (обязательный)
- Value to save.
Список изменений
| С версии 3.6.0 | Введена. |
| С версии 3.6.0 | Added to prevent empty meta being stored unless required. |
Код WC_Data_Store_WP::update_or_delete_post_meta() WC Data Store WP::update or delete post meta WC 10.3.6
protected function update_or_delete_post_meta( $object, $meta_key, $meta_value ) {
if ( in_array( $meta_value, array( array(), '' ), true ) && ! in_array( $meta_key, $this->must_exist_meta_keys, true ) ) {
$updated = delete_post_meta( $object->get_id(), $meta_key );
} else {
$updated = update_post_meta( $object->get_id(), $meta_key, $meta_value );
}
return (bool) $updated;
}