PaginatedArray::getPaginationString() method

Get a "1 to 10 of 50" type of string useful for pagination headlines.

This returns a string of 1 to 10 of 30 (items) or 1 of 10 (pages) for example.

Since 3.0.108 you can optionally replace either of the arguments with an $options o array instead, and you can specify any of these options:

  • label (string): Label to use for items, same as $label argument (default='').
  • zeroLabel (string): Alternate label to use if there are zero items, since 3.0.127 (default='').
  • usePageNum (bool): Specify true to show page numbers rather than item numbers (default=false).
  • count (int): Use this count rather than count in this PaginatedArray (default=-1, disabled).
  • start (int): Use this start rather than start in this PaginatedArray (default=-1, disabled).
  • limit (int): Use this limit rather than limit in this PaginatedArray (default=-1, disabled).
  • total (int): Use this total rather than total in this PaginatedArray (default=-1, disabled).


// Get string like "Items 1 to 25 of 500"
echo $items->getPaginationString('Items');

// Get string like "Page 1 of 10"
echo $items->getPaginationString('Page', true);

// Get string where you specify all options
echo $items->getPaginationString(array(
  'label' => 'Items',
  'zeroLabel' => 'No items found', // 3.0.127+ only
  'usePageNum' => false,
  'count' => 10,
  'start' => 0,
  'limit' => 10,
  'total' => 100


// basic usage
$string = $paginatedArray->getPaginationString();

// usage with all arguments
$string = $paginatedArray->getPaginationString($label = '', $usePageNum = false);


label (optional)string, array

Label to identify item type, i.e. "Items" or "Page", etc. (default=empty).

usePageNum (optional)bool, array

Specify true to show page numbers rather than item numbers (default=false).

Return value


Formatted string

PaginatedArray methods and properties

API reference based on ProcessWire core version 3.0.130

Twitter updates

  • New post: ProcessWire 3.0.131 adds support for partial/resumable downloads and http stream delivery, and contains several updates to our comments system, among other updates— More
    3 May 2019
  • New post: Quietly and without interruption this week, the website (and all subdomains) moved from a single static server to a load-balanced multi-server environment, giving us even more horsepower and redundancy than before— More
    19 April 2019
  • New post: With ProcessWire 3.0.130, this week we’ll take a detailed look at a few useful new API additions made in the last few weeks, along with examples of each—More
    12 April 2019

Latest news

  • ProcessWire Weekly #262
    The 262nd issue of ProcessWire Weekly will cover the latest module updates, both Pro modules and non-commercial ones. We've also got some highlights from the support forum, and a beautiful new site of the week. Read on! / 18 May 2019
  • Lots of module updates
    In this post we take a quick look at the new version of ProFields Repeater Matrix, yet another new version of FormBuilder, and a new version of the GoogleClientAPI module.
    Blog / 17 May 2019
  • Subscribe to weekly ProcessWire news

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer