Automattic\WooCommerce\Internal\PushNotifications\DataStores
PushTokensDataStore::build_meta_array_from_database
Returns an associative array of post meta as key => value pairs for the keys defined in SUPPORTED_META; missing keys return null.
Метод класса: PushTokensDataStore{}
Хуков нет.
Возвращает
Массив.
Использование
// private - только в коде основоного (родительского) класса $result = $this->build_meta_array_from_database( $push_token );
- $push_token(PushToken) (обязательный)
- An instance of PushToken.
Список изменений
| С версии 10.5.0 | Введена. |
Код PushTokensDataStore::build_meta_array_from_database() PushTokensDataStore::build meta array from database WC 10.5.2
private function build_meta_array_from_database( PushToken &$push_token ) {
if ( ! $push_token->can_be_read() ) {
throw new InvalidArgumentException(
'Can\'t read meta for push token because the push token data provided is invalid.'
);
}
$meta = (array) get_post_meta( (int) $push_token->get_id() );
$meta_by_key = (array) array_combine( static::SUPPORTED_META, static::SUPPORTED_META );
foreach ( static::SUPPORTED_META as $key ) {
if ( ! isset( $meta[ $key ] ) ) {
$meta_by_key[ $key ] = null;
} elseif ( is_array( $meta[ $key ] ) ) {
$meta_by_key[ $key ] = $meta[ $key ][0];
} else {
$meta_by_key[ $key ] = $meta[ $key ];
}
}
return $meta_by_key;
}