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 9.5.1
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; }