Automattic\WooCommerce\Internal\DataStores

CustomMetaDataStore::update_metapublicWC 1.0

Update meta.

Method of the class: CustomMetaDataStore{}

No Hooks.

Returns

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 10.6.2

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

	if ( ! isset( $meta->id ) || empty( $meta->key ) || ! $object->get_id() ) {
		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;
}