Automattic\WooCommerce\Internal\OrderReviews
SubmissionHandler::index_eligible_order_items
Map order_item_id => WC_Order_Item_Product for fast row lookup, filtered through woocommerce_review_order_eligible_items the handler agrees with the page on which items are reviewable. The default callback excludes fully-refunded items.
Method of the class: SubmissionHandler{}
Hooks from the method
Returns
Array
Usage
// private - for code of main (parent) class only $result = $this->index_eligible_order_items( $order ): array;
- $order(WC_Order) (required)
- Order being reviewed.
SubmissionHandler::index_eligible_order_items() SubmissionHandler::index eligible order items code WC 10.8.1
private function index_eligible_order_items( WC_Order $order ): array {
/**
* Filter the eligible items considered by the Review Order
* submission handler.
*
* Same hook the page uses; documented in
* `templates/order/customer-review-order.php`.
*
* @since 10.8.0
*
* @param \WC_Order_Item[] $items Order line items.
* @param WC_Order $order The order being reviewed.
*/
$items = (array) apply_filters( 'woocommerce_review_order_eligible_items', $order->get_items(), $order );
$index = array();
foreach ( $items as $item ) {
if ( $item instanceof \WC_Order_Item_Product ) {
$index[ $item->get_id() ] = $item;
}
}
return $index;
}