Conditions Reference
Oxygen has one condition catalog, used in three places. The same "Post Type is Page" rule
you'd use to target a template is the rule you'd use to hide an element, written the same
way. This page is the catalog.
Where each place uses them:
- Element display conditions — show or
hide an element. - Template targeting — decide which posts a template applies to.
- The Post Loop's Query Builder — filter
which posts a loop returns. Only some conditions work here; see the Query column
below.
How a condition is built

Every condition is three parts: the condition itself, an operand, and a value.
"Post Status · is · Published". The operands available depend on the condition — a date
offers is before and is after, a taxonomy offers is one of, is none of and is all
of — and the value control adapts too, offering a post picker, a role list, a date field
or free text as appropriate.
Conditions combine with AND and OR. See
Element Display Conditions for how
groups are built.
What you'll actually see
The catalog below is the full set registered on a standard Oxygen install: 35
conditions. You will rarely see all 35 at once, for two reasons.
The dropdown is filtered to the document you're editing. Each condition declares which
kinds of content it makes sense for, and Oxygen hides the rest. Editing an ordinary page,
the dropdown offers 23 of them — the archive-specific and post-specific ones are not
applicable and don't appear. Open a template targeting an archive and a different subset
appears.
Some conditions depend on plugins. Activating WooCommerce registers a further set of
product, cart and order conditions on top of these.
Note: two conditions are labelled Author. One is in the Singular group and
tests the author of the post being viewed; the other is in the Archive group and
tests whose author archive is being viewed. The group tells you which is which.
The catalog
The Query column marks the nine conditions that also work inside the Post Loop's Query
Builder.
Singular
Rules about the single post, page or attachment being viewed.
| Condition | Operands | Query |
|---|---|---|
| Post | is · is not | ✅ |
| Post Parent | is one of · is none of | |
| Page | is · is not | ✅ |
| Page Parent | is one of · is none of | |
| Media | is · is not | ✅ |
| Media Parent | is one of · is none of | |
| Post Type | is one of · is none of | |
| Post ID | is · is not | |
| Post Status | is · is not | |
| Has Taxonomy | is one of · is none of · is all of | ✅ |
| Author | is · is not | ✅ |
| Featured Image | is | ✅ |
| Comments Number | is greater than · is less than · is · is not | ✅ |
Archive
Rules about the archive being viewed.
| Condition | Operands | Query |
|---|---|---|
| Post Type | is · is not | |
| Author | is · is not |
Taxonomy
| Condition | Operands | Query |
|---|---|---|
| Is Taxonomy | is · is not |
User
Rules about the person viewing the page.
| Condition | Operands | Query |
|---|---|---|
| User Logged In Status | is | |
| User Role | is one of · is none of | |
| User Registration Date | is after · is before |
Date & Time
Note the split: Current conditions test when the page is being viewed; Post Date
and Post Modified Date test the content itself. Only the latter two can filter a query.
| Condition | Operands | Query |
|---|---|---|
| Current Date (WordPress) | is before · is after · is · is not · is one of · is none of | |
| Current Time (WordPress) | is before · is after | |
| Current Month (WordPress) | is one of · is none of | |
| Day Of Week (WordPress) | is one of · is none of | |
| Post Date | is after · is before | ✅ |
| Post Modified Date | is after · is before | ✅ |
Referrer
Rules about where the visitor came from.
| Condition | Operands | Query |
|---|---|---|
| Referrer URL | is · is not · contains · does not contain | |
| Referrer Type | is · is not |
Other
| Condition | Operands | Query |
|---|---|---|
| Dynamic Data | is · is not · contains · does not contain · is empty · is not empty | |
| Custom PHP | (none — your code returns the answer) | |
| Breakpoint | is one of · is none of | |
| Browser | is one of · is none of | |
| Operating System | is one of · is none of | |
| Content Created With | is · is not | |
| Search | is · is not | |
| WP_Query Found Posts Count | is greater than · is less than |
The two you'll use most
Dynamic Data is the general-purpose one. Instead of testing a fixed property it tests
any dynamic field — a custom field, a term name, a URL
parameter — with contains, is empty and the rest. Most "only show this if the field is
filled in" rules are this condition, not Custom PHP.
Custom PHP is the escape hatch: no operand, no
value, just code that returns true or false. It has its own page because it comes with its
own risks.
A note on dates
The conditions marked (WordPress) read the date and time from your WordPress timezone
setting, not the visitor's device. A "Current Time is after 17:00" rule fires at 17:00 in
the site's timezone for everyone, wherever they are.