$pages->findOne() method

Like find() but returns only the first match as a Page object (not PageArray).

This is functionally similar to the get() method except that its default behavior is to filter for access control and hidden/unpublished/etc. states, in the same way that the find() method does. You can add an include=... to your selector string to bypass. This method also accepts an $options array, whereas get() does not.

Available since version 3.0.0.

Example

// Find the newest page using the blog-post template
$blogPost = $pages->findOne("template=blog-post, sort=-created");

Usage

// basic usage
$page = $pages->findOne($selector);

// usage with all arguments
$page = $pages->findOne($selector, $options = []);

Arguments

NameType(s)Description
selectorstring, array, Selectors

Selector string, array or Selectors object

options (optional)array, string

See $options for $pages->find()

Return value

Page NullPage

Returns a Page on success, or a NullPage (having id=0) on failure

See Also


$pages methods and properties

API reference based on ProcessWire core version 3.0.209

Twitter updates

  • Adding custom actions to ProcessWire image fields in the admin, part of this week’s dev branch additions: More
    27 January 2023
  • ProcessWire 3.0.210 new main/master version released— More
    6 January 2023
  • ProcessWire 3.0.209: Core updates and an interesting AI that knows ProcessWire– More
    30 December 2022

Latest news

  • ProcessWire Weekly #455
    In the 455th issue of ProcessWire Weekly we'll check out the latest core updates, introduce a new third party module called JkPublishPages, and more. Read on!
    Weekly.pw / 28 January 2023
  • ProcessWire 3.0.210 new main/master version
    140 commits, 55 resolved issues, dozens of new features, eight contributors, and five new pull requests make yet another great new version of ProcessWire.
    Blog / 6 January 2023
  • Subscribe to weekly ProcessWire news

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani