Automattic\WooCommerce\Internal\DataStores\Fulfillments

FulfillmentsDataStore::read_metapublicWC 1.0

Method to read the metadata for a fulfillment.

Method of the class: FulfillmentsDataStore{}

No Hooks.

Returns

Array.

Usage

$FulfillmentsDataStore = new FulfillmentsDataStore();
$FulfillmentsDataStore->read_meta( $data ): array;
$data(Fulfillment) (required) (passed by reference — &)
The fulfillment object to read.

FulfillmentsDataStore::read_meta() code WC 10.3.6

public function read_meta( &$data ): array {
	if ( ! $data->get_id() ) {
		throw new \Exception( esc_html__( 'Invalid fulfillment.', 'woocommerce' ) );
	}

	// Read the metadata for the fulfillment.
	global $wpdb;

	$data_id   = $data->get_id();
	$meta_data = $wpdb->get_results(
		$wpdb->prepare(
			"SELECT * FROM {$wpdb->prefix}wc_order_fulfillment_meta WHERE fulfillment_id = %d",
			$data_id
		),
		OBJECT
	);

	return array_map(
		function ( $meta ) {
			$meta->meta_value = json_decode( $meta->meta_value, true ) ?? $meta->meta_value;
			return $meta;
		},
		$meta_data
	);
}