WC_Data::save_meta_data
Update Meta Data in the database.
Метод класса: WC_Data{}
Возвращает
null. Ничего (null).
Использование
$WC_Data = new WC_Data(); $WC_Data->save_meta_data();
Список изменений
| С версии 2.6.0 | Введена. |
Код WC_Data::save_meta_data() WC Data::save meta data WC 10.5.2
public function save_meta_data() {
if ( ! $this->data_store || is_null( $this->meta_data ) ) {
return;
}
foreach ( $this->meta_data as $array_key => $meta ) {
if ( is_null( $meta->value ) ) {
if ( ! empty( $meta->id ) ) {
$this->data_store->delete_meta( $this, $meta );
/**
* Fires immediately after deleting metadata.
*
* @param int $meta_id ID of deleted metadata entry.
* @param int $object_id Object ID.
* @param string $meta_key Metadata key.
* @param mixed $meta_value Metadata value (will be empty for delete).
*/
do_action( "deleted_{$this->object_type}_meta", $meta->id, $this->get_id(), $meta->key, $meta->value );
unset( $this->meta_data[ $array_key ] );
}
} elseif ( empty( $meta->id ) ) {
$meta->id = $this->data_store->add_meta( $this, $meta );
/**
* Fires immediately after adding metadata.
*
* @param int $meta_id ID of added metadata entry.
* @param int $object_id Object ID.
* @param string $meta_key Metadata key.
* @param mixed $meta_value Metadata value.
*/
do_action( "added_{$this->object_type}_meta", $meta->id, $this->get_id(), $meta->key, $meta->value );
$meta->apply_changes();
} elseif ( $meta->get_changes() ) {
$this->data_store->update_meta( $this, $meta );
/**
* Fires immediately after updating metadata.
*
* @param int $meta_id ID of updated metadata entry.
* @param int $object_id Object ID.
* @param string $meta_key Metadata key.
* @param mixed $meta_value Metadata value.
*/
do_action( "updated_{$this->object_type}_meta", $meta->id, $this->get_id(), $meta->key, $meta->value );
$meta->apply_changes();
}
}
if ( ! empty( $this->cache_group ) ) {
$cache_key = self::generate_meta_cache_key( $this->get_id(), $this->cache_group );
wp_cache_delete( $cache_key, $this->cache_group );
}
}