Automattic\WooCommerce\Internal\DataStores

CustomMetaDataStore::update_meta()publicWC 1.0

Update meta.

Метод класса: CustomMetaDataStore{}

Хуков нет.

Возвращает

true|false.

Использование

$CustomMetaDataStore = new CustomMetaDataStore();
$CustomMetaDataStore->update_meta( $object, $meta ) : bool;
$object(WC_Data) (обязательный) (передается по ссылке — &)
WC_Data object.
$meta(stdClass) (обязательный)
(containing ->id, ->key and ->value).

Код CustomMetaDataStore::update_meta() WC 8.7.0

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

	$db_info = $this->get_db_info();

	$result = $wpdb->update(
		$db_info['table'],
		$data,
		array( $db_info['meta_id_field'] => $meta->id ),
		'%s',
		'%d'
	);

	return 1 === $result;
}