$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.236

Latest news

  • ProcessWire Weekly #540
    In the 540th issue of ProcessWire Weekly we'll check out the latest core updates, introduce a new third party module called Page List Custom Sort, and more. Read on!
    Weekly.pw / 14 September 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits