Automattic\WooCommerce\Internal\DataStores

CustomMetaDataStore::update_meta()publicWC 1.0

Update meta.

Method of the class: CustomMetaDataStore{}

No Hooks.

Return

true|false.

Usage

$CustomMetaDataStore = new CustomMetaDataStore();
$CustomMetaDataStore->update_meta( $object, $meta ) : bool;
$object(\WC_Data) (required) (passed by reference — &)
WC_Data object.
$meta(\stdClass) (required)
(containing ->id, ->key and ->value).

CustomMetaDataStore::update_meta() code WC 9.7.1

public function update_meta( &$object, $meta ) : bool {
	global $wpdb;

	if ( ! isset( $meta->id ) || empty( $meta->key ) ) {
		return false;
	}

	// phpcs:disable WordPress.DB.SlowDBQuery.slow_db_query_meta_value,WordPress.DB.SlowDBQuery.slow_db_query_meta_key
	$data = array(
		'meta_key'   => $meta->key,
		'meta_value' => maybe_serialize( $meta->value ),
	);
	// phpcs:enable WordPress.DB.SlowDBQuery.slow_db_query_meta_value,WordPress.DB.SlowDBQuery.slow_db_query_meta_key

	$result = $wpdb->update(
		$this->get_table_name(),
		$data,
		array(
			$this->get_meta_id_field()   => $meta->id,
			$this->get_object_id_field() => $object->get_id(),
		),
		'%s',
		'%d'
	);

	return 1 === $result;
}