Проблема заключается в том, что в цикле, где вы получаете товары для каждого вишлиста, вы используете wishlist_id => 'all'. Это означает, что вы получаете все товары из всех вишлистов вместо конкретного вишлиста, связанного с текущей итерацией цикла.
Чтобы исправить эту проблему, замените 'wishlist_id' => 'all' на 'wishlist_id' => $wish_id:
foreach ($wishlist_ids as $wishlist_id) {
$wish_id = $wishlist_id['id'];
$wish_products = YITH_WCWL()->get_products( [ 'wishlist_id' => $wish_id ] );
foreach ($wish_products as $wish_product) {
$product_id = $wish_product['prod_id'];
print($product_id . ',');
}
}
Это позволит вам получать товары для каждого вишлиста, связанного с текущей итерацией цикла.