WC_Order_Item_Product::get_formatted_meta_datapublicWC 1.0

Get formatted meta data for the item.

This overrides the parent method to conditionally remove backorder meta data when the order is marked as completed.

Метод класса: WC_Order_Item_Product{}

Хуки из метода

Возвращает

Массив.

Использование

$WC_Order_Item_Product = new WC_Order_Item_Product();
$WC_Order_Item_Product->get_formatted_meta_data( $hideprefix, $include_all );
$hideprefix(строка)
Meta data prefix, .
По умолчанию: _)
$include_all(true|false)
Include all meta data, this stop skip items with values already in the product name.
По умолчанию: false

Код WC_Order_Item_Product::get_formatted_meta_data() WC 11.0.1

public function get_formatted_meta_data( $hideprefix = '_', $include_all = false ) {
	$formatted_meta = parent::get_formatted_meta_data( $hideprefix, $include_all );

	$order = $this->get_order();

	if ( $order && $order->has_status( OrderStatus::COMPLETED ) ) {
		/**
		 * Filter the backorder meta key.
		 * Make sure to use the same filter as used in set_backorder_meta().
		 *
		 * @param string $backorder_meta_key The backorder meta key.
		 * @param WC_Order_Item_Product $item The order item product.
		 * @since 9.9.0
		 * @return string
		 */
		$backorder_meta_key = apply_filters( 'woocommerce_backordered_item_meta_name', __( 'Backordered', 'woocommerce' ), $this );

		foreach ( $formatted_meta as $meta_id => $meta ) {
			if ( isset( $meta->key ) && $meta->key === $backorder_meta_key ) {
				unset( $formatted_meta[ $meta_id ] );
			}
		}
	}

	return $formatted_meta;
}