Automattic\WooCommerce\Internal\DataStores
CustomMetaDataStore::add_meta
Add new piece of meta.
Метод класса: CustomMetaDataStore{}
Хуков нет.
Возвращает
int|false. meta ID
Использование
$CustomMetaDataStore = new CustomMetaDataStore(); $CustomMetaDataStore->add_meta( $object, $meta );
- $object(WC_Data) (обязательный) (передается по ссылке — &)
- WC_Data object.
- $meta(stdClass) (обязательный)
- (containing ->key and ->value).
Код CustomMetaDataStore::add_meta() CustomMetaDataStore::add meta WC 10.8.1
public function add_meta( &$object, $meta ) {
global $wpdb;
$db_info = $this->get_db_info();
$object_id = $object->get_id();
if ( ! $object_id ) {
return false;
}
$meta_key = wp_unslash( wp_slash( $meta->key ) );
$meta_value = maybe_serialize( is_string( $meta->value ) ? wp_unslash( wp_slash( $meta->value ) ) : $meta->value );
// phpcs:disable WordPress.DB.SlowDBQuery.slow_db_query_meta_value,WordPress.DB.SlowDBQuery.slow_db_query_meta_key
$result = $wpdb->insert(
$db_info['table'],
array(
$db_info['object_id_field'] => $object_id,
'meta_key' => $meta_key,
'meta_value' => $meta_value,
)
);
// phpcs:enable WordPress.DB.SlowDBQuery.slow_db_query_meta_value,WordPress.DB.SlowDBQuery.slow_db_query_meta_key
return $result ? (int) $wpdb->insert_id : false;
}