@Megos

Как получить все товары из вишлиста плагина YITH WooCommerce Wishlist?

Пытаюсь получить id товаров следующим кодом:

foreach ($receivers_ids as $receivers_id) {
    $user_id = $receivers_id;
    
    $wishlist_ids = YITH_WCWL()->get_wishlists( array( 'user_id' => $user_id ) );

        foreach ($wishlist_ids as $wishlist_id) {
            $wish_id = $wishlist_id['id'];
                        
            $wish_products = YITH_WCWL()->get_products( [ 'wishlist_id' => 'all' ] );

                     foreach ($wish_products as $wish_product) {
                    $product_id = $wish_product['prod_id'];
                    print($product_id . ',');
            }
        }
}


Получаю только товары последнего вишлиста. Пробовал использовать $wish_id вместо ‘all’, но не помогло. В чем может быть ошибка?
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
@5465
Проблема заключается в том, что в цикле, где вы получаете товары для каждого вишлиста, вы используете 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 . ',');
    }
}


Это позволит вам получать товары для каждого вишлиста, связанного с текущей итерацией цикла.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы