Automattic\WooCommerce\Internal\DataStores
CustomMetaDataStore::get_metadata_by_key
Retrieves metadata by meta key.
Method of the class: CustomMetaDataStore{}
No Hooks.
Returns
\stdClass[]|false. Metadata object or FALSE if not found.
Usage
$CustomMetaDataStore = new CustomMetaDataStore(); $CustomMetaDataStore->get_metadata_by_key( $object, $meta_key );
- $object(WC_Data) (required) (passed by reference — &)
- Object ID.
- $meta_key(string) (required)
- Meta key.
CustomMetaDataStore::get_metadata_by_key() CustomMetaDataStore::get metadata by key code WC 10.8.1
public function get_metadata_by_key( &$object, string $meta_key ) {
global $wpdb;
if ( ! $object->get_id() ) {
return false;
}
$db_info = $this->get_db_info();
// phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared
$meta = $wpdb->get_results(
$wpdb->prepare(
"SELECT {$db_info['meta_id_field']}, meta_key, meta_value, {$db_info['object_id_field']} FROM {$db_info['table']} WHERE meta_key = %s AND {$db_info['object_id_field']} = %d",
$meta_key,
$object->get_id(),
)
);
// phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared
if ( empty( $meta ) ) {
return false;
}
foreach ( $meta as $row ) {
if ( isset( $row->meta_value ) ) {
$row->meta_value = maybe_unserialize( $row->meta_value );
}
}
return $meta;
}