Pagefile::hasTag() method

Does this file have the given tag(s)?


$file = $page->files->first();

if($file->hasTag('foobar')) {
  // file has the "foobar" tag

if($file->hasTag("foo|baz")) {
  // file has either the foo OR baz tag

if($file->hasTag("foo,baz")) {
 // file has both the foo AND baz tags (since 3.0.17)


$bool = $pagefile->hasTag(string $tag);



Specify one of the following:

  • Single tag without whitespace.
  • Multiple tags separated by a "|" to determine if Pagefile has at least one of the tags.
  • Multiple tags separated by a comma to determine if Pagefile has all of the tags. (since 3.0.17)

Return value

bool string

True if it has the given tag(s), false if not.

  • If multiple tags were specified separated by a "|", then if at least one was present, this method returns the found tag.
  • If multiple tags were specified separated by a space or comma, and all tags are present, it returns true. (since 3.0.17)


  • 3.0.17 Added support for AND mode, where multiple tags can be specified and all must be present to return true.
  • 3.0.17 OR mode now returns found tag rather than boolean true.

See Also

Pagefile methods and properties

API reference based on ProcessWire core version 3.0.228

Latest news

  • ProcessWire Weekly #498
    The 498th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on! / 25 November 2023
  • Using date range fields in ProcessWire
    This week we'll take a detailed look at the newest addition to the ProFields set of modules: the Date Range Fieldtype and Inputfield.
    Blog / 24 November 2023
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH