thenew
thenew

Reputation: 103

How to get all products of a Shopify shop?

In my theme development, I don't find the way to get all the products of my shop. Although, I can retrieve all the collections with the variable collections (exemple: {% for c in collections %}).

Upvotes: 4

Views: 18497

Answers (2)

David Lazar
David Lazar

Reputation: 11427

Check this url: https://help.shopify.com/en/themes/customization/collections/change-catalog-page

Like magic... all your products...

Upvotes: 5

Suman KC
Suman KC

Reputation: 3528

Get all products at once or to run a query(API Request) for all products in shopify store : using this app is more managed -> https://github.com/phpish/shopify_private_app-skeleton so, my solution below is based on this app or you can relate the solution with your solution as well

<?php

session_start();

require __DIR__.'/vendor/autoload.php';
use phpish\shopify;
require __DIR__.'/conf.php';

$shopify = shopify\client(SHOPIFY_SHOP, SHOPIFY_APP_API_KEY, SHOPIFY_APP_PASSWORD, true);

try
{
    $products = $shopify('GET /admin/products/count.json', array('published_status'=>'published'));

    $totalproducts = $shopify('GET /admin/products/count.json', array('published_status'=>'published'));
    $limit = 50;
    $totalpage = ceil($totalproducts/$limit);
    for($i=1; $i<=$totalpage; $i++){
        $products = $shopify('GET /admin/products.json?'.$limit.'=50&page='.$i, array('published_status'=>'published'));
        foreach($products as $product){
          //do anything at once for all the products in store
        }
     }
  }
  catch (shopify\ApiException $e)
  {
    //
  }

Summary : The idea is to retrieve with page=x as parameter. after calculating the number of pages we will have with specified limit i.e 50 at one time fetch.

Upvotes: 0

Related Questions