woocommerce_review_order_eligible_items

woocommerce_review_order_eligible_items

Hook Type: filter

See hook in core

Displaying hooks found in version: woocommerce.10.9.4

apply_filters('woocommerce_review_order_eligible_items') is found 5 times:

  • /src/Internal/OrderReviews/Endpoint.php line 582
    			return;
    		}
    
    		// phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment -- documented on customer-review-order.php template.
    		$items = (array) apply_filters( 'woocommerce_review_order_eligible_items', $order->get_items(), $order );
    		ItemEligibility::preload_for_items( $items, $order );
    
    		foreach ( $items as $item ) {
    			if ( ! $item instanceof \WC_Order_Item_Product ) {
    				continue;
    			}
    
  • /src/Internal/OrderReviews/ItemEligibility.php line 390
    		 *
    		 * @param WC_Order_Item[] $items Order line items.
    		 * @param WC_Order        $order The order being inspected.
    		 */
    		$items = (array) apply_filters( 'woocommerce_review_order_eligible_items', $order->get_items(), $order );
    		self::preload_for_items( $items, $order );
    
    		foreach ( $items as $item ) {
    			if ( ! $item instanceof WC_Order_Item_Product ) {
    				continue;
    			}
    
  • /src/Internal/OrderReviews/SubmissionHandler.php line 310
    		// the same variation can't satisfy a sibling variation's quota, and
    		// the same simple product appearing on multiple rows still only
    		// needs one review (the page collapses those rows anyway).
    		// phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment -- documented at the page-template invocation site.
    		$eligible_items = (array) apply_filters( 'woocommerce_review_order_eligible_items', $order->get_items(), $order );
    
    		$required_slots = array();
    		$product_ids    = array();
    		foreach ( $eligible_items as $item ) {
    			if ( ! $item instanceof \WC_Order_Item_Product ) {
    				continue;
    
  • /src/Internal/OrderReviews/SubmissionHandler.php line 400
    		 *
    		 * @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;
    			}
    
  • /templates/order/customer-review-order.php line 33
     *
     * @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 );
    
    // Batched lookup; without this each decide() call would issue its own query.
    \Automattic\WooCommerce\Internal\OrderReviews\ItemEligibility::preload_for_items( $items, $order );
    
    // Skipped rows are counted so the disabled-products notice can render above the form.
    $decisions          = array();