Shopify will no longer use the page parameter in their latest 2019-07 API changes, here’s an example code for cursor-based pagination using the phpclassic/php-shopify package.
This code was tested on API version 2020-01.
PHP 7.2 + Required
This code assumes you’re executing the PHP script from your terminal / command prompt.
Install the Dependencies
composer require phpclassic/php-shopify
The Code
<?php
require('vendor/autoload.php');
$config = array(
'ShopUrl' => 'website.myshopify.com',
'ApiKey' => 'apikey',
'Password' => 'password',
);
$shopify = PHPShopify\ShopifySDK::config($config);
$productResource = $shopify->Product();
$products = $productResource->get(['limit' => 250]);
$nextPageProducts = $productResource->getNextPageParams();
$nextPageProductsArray = [];
while ($nextPageProducts) {
$nextPageProductsArray = $productResource->get($productResource->getNextPageParams());
$products = array_merge($products, $nextPageProductsArray);
$nextPageProducts = $productResource->getNextPageParams();
}
echo 'Total Products: ' . count($products) . PHP_EOL;
Follow the link for more information on cursor-based pagination change from Shopify.
