rder Order object.
* @return string
*/
protected function render_order_details_table_items( $order ) {
$return = '';
$order_items = array_filter(
// phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment
$order->get_items( apply_filters( 'woocommerce_purchase_order_item_types', 'line_item' ) ),
function( $item ) {
// phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment
return apply_filters( 'woocommerce_order_item_visible', true, $item );
}
);
foreach ( $order_items as $item_id => $item ) {
$product = $item->get_product();
$return .= $this->render_order_details_table_item( $order, $item_id, $item, $product );
}
return $return;
}
/**
* Render an item in the order details table.
*
* @param \WC_Order $order Order object.
* @param integer $item_id Item ID.
* @param \WC_Order_Item $item Item object.
* @param \WC_Product|false $product Product object if it exists.
* @return string
*/
protected function render_order_details_table_item( $order, $item_id, $item, $product ) {
$is_visible = $product && $product->is_visible();
// phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment
$row_class = apply_filters( 'woocommerce_order_item_class', 'woocommerce-table__line-item order_item', $item, $order );
// phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment
$product_permalink = apply_filters( 'woocommerce_order_item_permalink', $is_visible ? $product->get_permalink( $item ) : '', $item, $order );
// phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment
$item_name = apply_filters(
'woocommerce_order_item_name',
$product_permalink ? sprintf( '%s', $product_permalink, $item->get_name() ) : $item->get_name(),
$item,
$is_visible
);
$qty = $item->get_quantity();
$refunded_qty = $order->get_qty_refunded_for_item( $item_id );
$qty_display = $refunded_qty ? '' . esc_html( $qty ) . ' ' . esc_html( $qty - ( $refunded_qty * -1 ) ) . '' : esc_html( $qty );
// phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment
$item_qty = apply_filters(
'woocommerce_order_item_quantity_html',
'' . sprintf( '× %s', $qty_display ) . '',
$item
);
return '
' . esc_html__( 'Note:', 'woocommerce' ) . '
' . '' . wp_kses( nl2br( wptexturize( $order->get_customer_note() ) ), [] ) . '
' . '