WC_Order_Item::offsetGet()publicWC 1.0ReturnTypeWillChange

OffsetGet for ArrayAccess.

Method of the class: WC_Order_Item{}

No Hooks.

Return

Mixed.

Usage

$WC_Order_Item = new WC_Order_Item();
$WC_Order_Item->offsetGet( $offset );
$offset(string) (required)
Offset.

WC_Order_Item::offsetGet() code WC 8.6.1

public function offsetGet( $offset ) {
	$this->maybe_read_meta_data();

	if ( 'item_meta_array' === $offset ) {
		$return = array();

		foreach ( $this->meta_data as $meta ) {
			$return[ $meta->id ] = $meta;
		}

		return $return;
	}

	$meta_values = wp_list_pluck( $this->meta_data, 'value', 'key' );

	if ( 'item_meta' === $offset ) {
		return $meta_values;
	} elseif ( 'type' === $offset ) {
		return $this->get_type();
	} elseif ( array_key_exists( $offset, $this->data ) ) {
		$getter = "get_$offset";
		if ( is_callable( array( $this, $getter ) ) ) {
			return $this->$getter();
		}
	} elseif ( array_key_exists( '_' . $offset, $meta_values ) ) {
		// Item meta was expanded in previous versions, with prefixes removed. This maintains support.
		return $meta_values[ '_' . $offset ];
	} elseif ( array_key_exists( $offset, $meta_values ) ) {
		return $meta_values[ $offset ];
	}

	return null;
}