X
🐾 Coming from PetMatchPro 6.x? Version 8 adds real adoption analytics, similar-animal suggestions, SEO-friendly URLs, and overlay badges. See What's New →
PetMatchPro
  • Partners
    • AnimalsFirst
    • PetPoint
    • RescueGroups
  • What’s New
  • Shop
  • Demo
  • FAQ
  • Knowledge Base
  • About Us
  • Contact Us
  • My Account
  • Cart
Select Page
Green rocket icon for Getting Started documentation category

Getting Started

6
  • Activate Your License
  • Setup Wizard Walkthrough
  • Connecting Your Shelter System
  • Understanding License Tiers
  • Creating Your First Search Page
  • Creating Your First Detail Page
Blue code brackets icon for Shortcodes and Configuration documentation category

Shortcodes & Configuration

12
  • Shortcode Builder
  • [pmp-search] Reference
  • [pmp-details] Reference
  • [pmp-detail] Reference
  • [pmp-option] Reference
  • Parameters by License Tier
  • Common Shortcode Recipes
  • Pagination Setup
  • Excluding Values
  • Search Filter Button
  • Detail Button Hover Text
  • Search Card Hover Text
Purple palette icon for Templates and Design documentation category

Templates & Design

8
  • Search Templates Gallery
  • Detail Templates Gallery
  • Poster Templates
  • Theme Template Overrides
  • Color Customization
  • Font Size Customization
  • Detail Title Formats
  • Dynamic Banners
Orange image with star icon for Icons and Overlays documentation category

Icons & Overlays

6
  • Understanding Pet Icons
  • Understanding Overlays
  • Icon Reference Gallery
  • Customizing Icon Display
  • Value-Based Icons
  • Icon Size Customization
Teal tag icon for Labels and Customization documentation category

Labels & Customization

3
  • Custom Labels Guide
  • Changing Labels via Filtering
  • Custom Currency & Date Formats
Blue funnel icon for Filters and Search documentation category

Filters & Search

6
  • Custom Filter Groups & Labels
  • Setting Up Search Filters
  • Species & Breed Filtering
  • Filter Value Management
  • Excluding Values via Filtering
  • Partner-Specific Filter Options
Violet chain link icon for Partner Integration Guides documentation category

Partner Guides

3
  • AnimalsFirst Integration Guide
  • PetPoint Integration Guide
  • RescueGroups Integration Guide
Red bar chart icon for Analytics and Tracking documentation category

Analytics & Tracking

8
  • Understanding PMP Analytics
  • GA4 Configuration
  • Google Tag Manager Setup
  • Leveraging Analytics
  • WP-Cron Requirements for PetMatchPro Analytics
  • Queue Health and Tools
  • Privacy and Data Retention
  • Off-Bootstrap Impression Ingest
Amber wrench icon for Troubleshooting and FAQ documentation category

Troubleshooting

15
  • Common Error Messages
  • API Connection Issues
  • Template Not Found Errors
  • Theme Template Override Not Loading
  • Performance & Caching Best Practices
  • Animals Not Displaying
  • Stale Content / Cache Issues
  • Styling Conflicts
  • Empty Field Display
  • Analytics Queue Stuck or WP-Cron Not Running
  • Premium Feature Not Appearing After Upgrade
  • Troubleshoot the PetMatchPro Shortcode Builder
  • Reading PMP Debug Logs
  • wp-config.php Configuration Constants
  • How to Contact Support
Lightbulb icon representing PetMatchPro best practices guides for homepage layouts, button strategy, performance tuning, and template selection

Best Practices

11
  • Featuring Animals on Your Homepage
  • Adding Animals to Sidebars and Other Pages
  • Using Banners and Subtitles Effectively
  • Overlays and Icons for Quick Visual Cues
  • Writing Effective Detail Page Instructions
  • Button Configuration for Conversion
  • Optimizing Performance with API Caching
  • Customizing Typography and Icon Sizes
  • Lost and Found Search Best Practices
  • Template Selection Guide
  • Preconnect to Your Partner Photo CDN – PetMatchPro
View Categories
  • Home
  • Knowledge Base
  • Templates & Design
  • Dynamic Banners

Dynamic Banners

9 min read

Dynamic Banners #

Dynamic Banners let you drive the banner text on search-result cards – and an optional per-value color – from animal fields instead of a single static message. Instead of every card showing the same banner, you map the values of one or more source fields to display labels, so each card shows the banner that matches that animal’s data.

The classic example: an animal that is on hold should shout On Hold in red, while every other animal invites visitors with a friendly green Adopt Me. With Dynamic Banners you configure that once and PetMatchPro applies the correct banner to each card automatically.

New in 8.18.0: banners are now driven by an ordered cascade of priority levels. Each level has its own source field and its own value rows, and the levels are checked in order until one matches. That lets you layer rules – for example, On Hold first, then Special Needs, then Senior, and finally a default Adopt Me – so the most important status always wins. See Priority Levels below.

A PetMatchPro search-results grid of three adoptable dog cards (Slate, Sorrel, Teddy), each showing the identical static 'Adopt Me' banner in amber across the top. A static banner displays the same text and color on every card regardless of the animal's status.
The same PetMatchPro search-results grid of three dog cards, now with dynamic banners that change per animal: a yellow 'NOT AVAILABLE' banner on the on-hold dog (Slate) and green 'READY TO ADOPT' banners on the available dogs (Sorrel, Teddy). Dynamic banners drive each card's banner text and color from an animal field instead of one fixed message.

Requires Junior license. Both the admin toggle and the dynamic_banner shortcode override are Junior-gated. This release applies dynamic banners to search-result cards only – detail-page banners are a planned phase 2.

Enabling Dynamic Banners #

Dynamic Banners are configured under PetMatchPro Options > Banners – a dedicated admin tab. Settings are per method type (adopt, lost, found, list, preferred – depending on which methods your partner supports), so you can run a different banner scheme for adoptable animals than for lost or found reports.

  1. Go to the PetMatchPro Options > Banners tab.
  2. Choose the method type you want to configure (for example, adopt).
  3. Turn on the Enable toggle for that method type.
  4. Click Add Level to create a priority level (your first level is Level 1).
  5. Pick a Source Field for that level (see below).
  6. Add one or more Value → Label rows to the level with the Add Value button.
  7. Add more levels as needed and order them with the up/down controls – the top level has the highest priority.
  8. Optionally set the single Default / Fallback label for animals that match no level.
  9. Click Save.

Priority Levels (Cascade) #

Each method type is configured as an ordered list of priority levels. A level is a self-contained rule: it has its own Source Field and its own set of Value → Label rows. PetMatchPro walks the levels from top to bottom and the first level that matches wins.

The key behavior is fall-through: if a level’s source field has a value but that value matches none of the level’s rows, evaluation continues to the next level – it does not jump straight to the default. Only when every level has been checked with no match does the single Default / Fallback row apply.

A worked three-level example for adoptable animals:

Priority Source field Value → Label Color
Level 1 onhold Yes → On Hold Red
Level 2 special_needs Yes → Special Needs Blue
Level 3 age_group Senior → Senior Amber
Default – Adopt Me Green

With this configuration, an animal that is on hold shows On Hold even if it is also a senior, because Level 1 wins. A senior animal that is not on hold and has no special needs falls through Levels 1 and 2 and shows Senior. An animal that matches none of the three levels shows Adopt Me.

Ordering, adding, and removing levels #

  • Add Level appends a new, empty level. Add Value adds a row within a level.
  • The up/down controls on each level and each row change priority – no retyping required. Saving stores the levels in the exact order shown.
  • Remove Level and the row remove control delete that level or row. Empty rows and empty levels are dropped automatically when you save.

Recommended maximums: up to 10 levels per method type and 25 values per level. These are soft guidelines, not hard limits – the admin shows an advisory note if you exceed them but never blocks saving. They exist to keep the configuration and the generated CSS manageable.

Three-level dynamic banner cascade for adoptable animals An animal is checked against Level 1 (onhold equals Yes, shows a red On Hold banner), then Level 2 (special_needs equals Yes, shows a blue Special Needs banner), then Level 3 (age_group equals Senior, shows an amber Senior banner). The first matching level wins; a non-matching level falls through to the next. An animal that matches no level shows the green Adopt Me default. Adoptable animal Level 1: onhold = Yes? match On Hold no match Level 2: special_needs = Yes? match Special Needs no match Level 3: age_group = Senior? match Senior no match No level matched default Adopt Me
The cascade in action for the worked example: each animal is tested against the levels top to bottom. The first level to match supplies the banner (an on-hold senior still shows On Hold, because Level 1 wins). A level whose value matches nothing falls through to the next level, and an animal that matches no level lands on the green Adopt Me default.

Choosing a Source Field #

The Source Field is the animal field whose value decides whether a level matches. Each level picks its own source field. The available source fields depend on your integration partner:

Partner Source field(s)
PetPoint onhold (also stage / stageid and other status-icon fields)
AnimalsFirst status
RescueGroups animalstatus

For the On Hold / Adopt Me example, the PetPoint onhold field is the source: when it reads Yes the animal is on hold, otherwise it is available.

Building Value to Label Rows #

Each row maps one source-field value to the banner label that should display when an animal has that value. Rows are repeatable – add as many as you need.

For the worked example, with onhold as the source field you would add a single row:

Value Label
Yes On Hold

Animals whose onhold value is Yes get the On Hold banner. Everything else falls through to the default / fallback row (see below), which you would set to Adopt Me.

PetMatchPro Options Banners tab, Adopt method expanded and enabled, with 'Use a cascading banner for this method type' checked. Two priority levels are configured. Level 1 source field Onhold maps the value Yes to the banner label NOT AVAILABLE with a yellow background, black text, and black border. Level 2 source field Specialneeds maps the value Yes to the banner label SPECIAL NEEDS with an orange background and white text. Below the levels, Add Level is available, and a single Default / Fallback row shows the label READY TO ADOPT with a green background and white text. Each value row has up, down, and remove controls; each level has Remove Level, and Add Value adds rows.

Per-Value Colors #

Each Value → Label row has optional background, text, and border color fields. Use them to give a value its own look – a red On Hold banner and a green Adopt Me banner, for instance.

  • Leave a color field blank to inherit the default. A blank color falls back to the banner colors configured on the Colors tab. The Colors tab is now the default banner look.
  • Fill a color field to override. A per-value color wins over the Colors-tab default by CSS specificity – no !important is used. The banner color CSS is container-scoped, with a per-value class of .pmp-banner-val-{slug}. As of 8.18.0 the slug is namespaced by method type and level (for example adopt-l0-on-hold), so the same value used on two different levels can carry two distinct colors without colliding. These class names are internal and regenerate automatically on save.

A single dynamic-banner level (Level 1) with Source Field set to Onhold. One value row maps the Field Value Yes to the Banner Label NOT VAILABLE, while the Background, Text Color, Border, and Text Shadow fields are all left blank, showing the 'inherit' placeholder. Blank color fields inherit the banner colors configured on the Colors tab. The row has up, down, and remove controls, with an Add Value button below and Remove Level at top right.

Because per-value overrides win by specificity rather than !important, you can still layer your own theme CSS on top using a more specific selector. See Styling Conflicts if a theme rule is fighting your banner colors.

Default / Fallback Row #

The Default / Fallback row sets the banner label (and optional colors) for any animal whose source-field value does not match a configured Value → Label row. In the worked example this is where you put Adopt Me in green.

One important rule:

  • An empty default label renders no banner at all for unmatched values. PetMatchPro does not draw an empty box – the card simply has no banner. Use this when you only want a banner on specific values (for example, show On Hold only on held animals and nothing on the rest).

How Matching Works #

Matching is straightforward and predictable:

  • Within a level: exact match, case-insensitive. The animal’s source-field value is compared to each row’s value ignoring letter case. There is no “contains”, multi-value, or regular-expression matching. The first row whose value matches is used.
  • Across levels: the first level that produces a match wins. A level whose field has a value that matches none of its rows falls through to the next level rather than stopping at the default.
  • No match falls back to the default. Only after every level is checked with no match is the single Default / Fallback label used – and if that label is empty, no banner renders.
Dynamic banner matching algorithm across N levels For each level in order, PetMatchPro asks whether the animal’s value matches a row in that level. If yes, it renders that level’s banner and stops. If no, it advances to the next level. After all levels are exhausted, if a Default or Fallback label is set it renders the default banner; otherwise no banner is rendered. Animal enters a search card Level k: does the animal’s value match a row in this level? yes Render this level’s banner, then stop no Another level after k? yes advance to next level (k+1) no Default / Fallback label set? yes Render Default / Fallback banner no No banner rendered
The general matching algorithm for any number of levels. Each level is evaluated in order: a match renders that level’s banner and stops the walk; a non-match advances to the next level. Only after every level is exhausted does the single Default / Fallback row apply — and if its label is blank, the card shows no banner at all.

License Requirements #

Dynamic Banners require a Junior license or higher. On the Basic tier the Banners admin section and the dynamic_banner shortcode override are not available. Junior and Preferred sites get the full feature.

The static banner= shortcode parameter still takes priority over dynamic banners for back-compatibility: if a shortcode sets banner="...", that static text is shown on every card and no per-value color class is applied. Dynamic banners only kick in when no static banner= is present.

Next Steps #

  • Color Customization – Set the default banner look that per-value colors inherit from
  • Using Banners and Subtitles Effectively – Best practices for banner messaging
  • [pmp-search] Reference – The dynamic_banner shortcode override
  • Styling Conflicts – Resolve theme CSS that overrides banner colors
Dynamic Banners ultima modifica: 2026-06-20T10:20:40-04:00 da PetMatchPro
Updated on June 25, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Detail Title FormatsSearch Templates Gallery

Submit a Comment Cancel reply

Your email address will not be published. Required fields are marked *

Table of Contents
  • Dynamic Banners
    • Enabling Dynamic Banners
    • Priority Levels (Cascade)
      • Ordering, adding, and removing levels
    • Choosing a Source Field
    • Building Value to Label Rows
    • Per-Value Colors
    • Default / Fallback Row
    • How Matching Works
    • License Requirements
    • Next Steps

© Copyright 2018-2026 by PetMatchPro, All Rights Reserved

  • Privacy Policy
  • Terms of Use
  • Disclaimer
  • Login