An expressions can be used in Revalidation Posts and All update dependencies. Such expressions allow to define page scopes or page sets to be operated. Each subsequent expression part is separated by :
symbol. Also, there are manual enumerations that separated by |
symbol and enclosed by <
and >
symbols (see in examples below).
Also, asterisk at the end can be used to enumerate all sub URLs (only if they are cached), e.g. /page1/*
. Furthermore, asterisk inside can be used to enumerate all matched URL (only if they are cached), e.g. /page*
.
Examples#
Condition: expression @IF@{post_type}@page:@path@subdir1
adds subdir1
to the current URL if post’s type equals to page
.
Enumeration: expression a:<b|c>
returns ab
and ac
strings.
Functions#
There are special functions. Arguments of any function can be any values and fields accessors e.g. {post_type}
. Using of any function must begin with @
symbol. All arguments must be also separated by @
symbol.
Optional expression parts are quoted by [] in descriptions below.
Available functions:
- IF
- path
- arg
- pageNums
- commentPageNums
- terms
- termsOfClass
- home
- post
- postsBase
- posts
- postsViewable
- postsWithTerms
- sitemapItems
- wooProdVars
IF#
Conditional execution.
Syntax#
@IF@val[@compareOperation]@valCmp[,valCmp]:exprPositive
@IF@val[@compareOperation]@valCmp[,valCmp][:<exprPositive[|exprNegative]>]
Arguments#
- val
Any value to be compared.
- valCmp
Any value to be compared with.
- compareOperation (optional)
Can be one of
=
,!=
,<
,<=
,>
,>=
. By default, it is=
. - exprPositive
Any expression that will be executed if the condition is true.
- exprNegative (optional)
Any expression that will be executed if the condition is false.
Example#
Expression @IF@{post_type}@product,post:<?a=1|?b=1>
returns ?a=1
if post type is product
or post
, or ?b=1
if negative.
path#
Appends specified path to the current URL.
Syntax#
@path@pathPart
Arguments#
- pathPart
Any path, e.g.
dir
,/dir
ordir1/dir2
.
Example#
Expression https://mysite.com/dir?a=1:@path@subdir1
returns https://mysite.com/dir/
subdir1?a=1
.
arg#
Adds specified argument to current URL.
Syntax#
@arg@name[@value]
Arguments#
- name
Argument’s name.
- value
Argument’s value.
Example#
Expression https://mysite.com/dir/?a=1:@arg@b@2
returns https://mysite.com/dir/?a=1&b=2
.
pageNums#
Adds pagination path mask to current URL. If pagination is represented by an argument, no any results will be returned.
Syntax#
@pageNums
Example#
Expression https://mysite.com/dir/?a=1:@pageNums
returns https://mysite.com/dir/page/*
.
commentPageNums#
Adds comments’ pagination path mask to current URL. If pagination is represented by an argument, no any results will be returned.
Syntax#
@commentPageNums
Example#
Expression https://mysite.com/dir/?a=1:@commentPageNums
returns https://mysite.com/dir/comment-page-*
.
terms#
Returns all terms’ URL’s of specified taxonomies of the specified post.
Syntax#
@terms@taxonomy[,taxonomy][@postId[@maxItems[@flags]]]
Arguments#
- taxonomy
One of taxonomy registered in WordPress. E.g.
category
,tag
,product_tag
. - postId (optional)
Post’s ID. If it is omitted then all terms will be returned according to the next parameters.
- maxItems (optional)
Maximum items count.
- flags (optional)
Can be any combination of:
- hideNonEmpty
All not empty terms will be excluded.
- hideEmpty
All empty terms will be excluded.
-
Example#
Expression @terms@category@{ID}
returns permalinks of terms.
termsOfClass#
Returns all terms URL’s of specified taxonomy classes of the specified post.
Syntax#
@termsOfClass@class[,class]@postType@postId
Arguments#
- class
Can be
categories
ortags
. - postType
Post’s type, e.g.
page
,post
,product
. - postId
Post’s ID.
home#
Returns site’s home URL.
Syntax#
@home
Example#
Expression @home
returns e.g. https://mysite.com/
.
post#
Returns URL (permalink) of the specified post.
Syntax#
@post@postId
Arguments#
- postId
Post’s ID.
Example#
Expression @post@123
returns e.g. https://mysite.com/sample-post
.
postsBase#
Returns root posts list URL for each specified post type.
Syntax#
@postsBase@postType[,postType]
Arguments#
- postType
Post’s type, e.g.
page
,post
,product
.
Example#
Expression @postsBase@post
returns e.g. https://mysite.com/publications/
.
posts#
Returns all posts’ URLs of specified post types.
Syntax#
@posts@postType[,postType][@maxItems]
Arguments#
- postType
Post’s type, e.g.
page
,post
,product
. - maxItems (optional)
Maximum items count.
Example#
Expression @posts@product,page
returns e.g. https://mysite.com/products/product-1
, https://mysite.com/products/product-2
, …, https://mysite.com/page-1
, https://mysite.com/page-2
, …
postsViewable#
Returns all viewable posts’ URLs of viewable post types.
Syntax#
@postsViewable[@maxItems]
Arguments#
- maxItems (optional)
Maximum items count.
postsWithTerms#
Returns all pages’ URLs that have specified term IDs.
Syntax#
@postsWithTerms@postType[,postType]@termId[,termId][@maxItems]
Arguments#
- postType
Post’s type, e.g.
page
,post
,product
. - termId
Term’s ID.
- maxItems (optional)
Maximum items count.
Example#
Expression @postsWithTerms@post@123
returns all posts that have term with ID equals to 123.
Expression @terms@category@1:@postsWithTerms@post@{term_id}
returns all posts with type ‘post’ that have categories with ID equals to 1.
sitemapItems#
Returns all pages’ URLs from the specified sitemap.
Syntax#
@sitemapItems[@sitemapUri]
Example#
Expression @sitemapItems@/sitemap_index.xml
returns all recursive page URLs from sitemap sitemap_index.xml
.
wooProdVars#
Adds all specified product’s variations combinations as parameters to current URL.
Syntax#
@wooProdVars@postId[@inclVar[,inclVar][@exclVar[,exclVar]]]
Arguments#
- postId
Post’s ID.
- inclVar (optional)
Variable name to be only included in enumeration.
- exclVar (optional)
Variable name to be excluded from enumeration.
Example#
Expression @wooProdVars@{ID}@Color,Size
returns e.g. ?attribute_color=White&attribute_size=Small
, ?attribute_color=White&attribute_size=Very%20Small
, …
Expression @posts@product:<|@wooProdVars@{ID}>
enumerates all products and all their variations.