woocommerce_review_order_eligible_items

woocommerce_review_order_eligible_items

Appears in:
Hook Type: filter

See hook in core

Displaying hooks found in version: woocommerce.10.9.1

apply_filters('woocommerce_review_order_eligible_items') is found 4 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/SubmissionHandler.php line 289
    		// Build the same eligible-row set the page uses, then count required
    		// reviews per parent product. Same product appearing on N rows needs
    		// N reviews, not 1.
    		// 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_reviews = array();
    		foreach ( $eligible_items as $item ) {
    			if ( ! $item instanceof \WC_Order_Item_Product ) {
    				continue;
    			}
    
  • /src/Internal/OrderReviews/SubmissionHandler.php line 365
    		 *
    		 * @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();