{"id":7573,"date":"2022-02-07T15:19:02","date_gmt":"2022-02-07T15:19:02","guid":{"rendered":"https:\/\/www.s-sols.com\/?post_type=doc&#038;p=7573"},"modified":"2026-04-21T20:27:17","modified_gmt":"2026-04-21T20:27:17","slug":"settings-revalidation-expressions-accel","status":"publish","type":"doc","link":"https:\/\/www.s-sols.com\/docs\/wordpress\/accelerator\/settings-accel\/settings-revalidation-expressions-accel","title":{"rendered":"Revalidation expressions Accelerator for WordPress"},"content":{"rendered":"<p style=\"text-align:justify\">\n  An expressions can be used in Revalidation <a href=\".\/settings-cache-accel#revalidation_posts\">Posts<\/a> and <a href=\".\/settings-cache-accel#revalidation_all\">All update dependencies<\/a>. Such expressions allow to define page scopes or page sets to be operated. Each subsequent expression part is separated by <code>:<\/code> symbol. Also, there are manual enumerations that separated by <code>|<\/code> symbol and enclosed by <code>&lt;<\/code> and <code>&gt;<\/code> symbols (see in examples below).\n<\/p>\n<p style=\"text-align:justify\">\n  Also, asterisk at the end can be used to enumerate all sub URLs (only if they are cached), e.g. <code>\/page1\/*<\/code>. Furthermore, asterisk inside can be used to enumerate all matched URL (only if they are cached), e.g. <code>\/page*<\/code>.\n<\/p>\n<h4><a id=\"general\"><\/a><a id=\"revalidation_expr\"><\/a><a id=\"encodings\"><\/a>Examples<br \/>\n<\/h4>\n<p style=\"text-align:justify\">\n  Condition: expression <code><strong>@IF<\/strong>@{post_type}@page:<strong>@path<\/strong>@subdir1<\/code> adds <code>subdir1<\/code> to the current URL if post\u2019s type equals to <code>page<\/code>.\n<\/p>\n<p>\n  Enumeration: expression <code>a:&lt;b|c&gt;<\/code> returns <code>ab<\/code> and <code>ac<\/code> strings.\n<\/p>\n<h2>\n  Functions<br \/>\n<\/h2>\n<p style=\"text-align:justify\">\n  There are special functions. Arguments of any function can be any values and fields accessors e.g. <code>{post_type}<\/code>. Using of any function must begin with <code>@<\/code> symbol. All arguments must be also separated by <code>@<\/code> symbol.\n<\/p>\n<p style=\"text-align:justify\">\n  Optional expression parts are quoted by [] in descriptions below.\n<\/p>\n<p style=\"text-align:justify\"><strong>Available functions:<\/strong>\n<\/p>\n<ul>\n<li style=\"text-align:justify\"><a href=\"#func_IF\"><strong>IF<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><strong>P<\/strong>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_path\"><strong>path<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_arg\"><strong>arg<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_pageNums\"><strong>pageNums<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_commentPageNums\"><strong>commentPageNums<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_terms\"><strong>terms<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_termsOfClass\"><strong>termsOfClass<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_home\"><strong>home<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_post\"><strong>post<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_postsBase\"><strong>postsBase<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_posts\"><strong>posts<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_postsViewable\"><strong>postsViewable<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_postsWithTerms\"><strong>postsWithTerms<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_author\"><strong>author<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_sitemapItems\"><strong>sitemapItems<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_wooProdVars\"><strong>wooProdVars<\/strong><\/a>\n  <\/li>\n<li style=\"text-align:justify\"><a href=\"#func_lang\"><strong>lang<\/strong><\/a>\n  <\/li>\n<\/ul>\n<h3><a id=\"func_IF\"><\/a>IF<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Conditional execution.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@IF<\/strong>@val[@compareOperation]@valCmp[,valCmp]:exprPositive<br \/><strong>@IF<\/strong>@val[@compareOperation]@valCmp[,valCmp][:&lt;exprPositive[|exprNegative]&gt;]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul>\n<li>\n<div style=\"text-align:justify\"><strong>val<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Any value to be compared.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>valCmp<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Any value to be compared with.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>compareOperation<\/strong> (optional)\n    <\/div>\n<p style=\"text-align:justify\">\n      Can be one of <code>=<\/code>, <code>!=<\/code>, <code>&lt;<\/code>, <code>&lt;=<\/code>, <code>&gt;<\/code>, <code>&gt;=<\/code>. By default, it is <code>=<\/code>.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>exprPositive<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Any expression that will be executed if the condition is true.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>exprNegative<\/strong> (optional)\n    <\/div>\n<p style=\"text-align:justify\">\n      Any expression that will be executed if the condition is false.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@IF<\/strong>@{post_type}@product,post:&lt;?a=1|?b=1&gt;<\/code> returns <code>?a=1<\/code> if post type is <code>product<\/code> or <code>post<\/code>, or <code>?b=1<\/code> if negative.\n<\/p>\n<h3><a id=\"func_P\"><\/a>P<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Adjusting processing priority of URLs in further expression.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@P<\/strong>@val<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"6\">\n<li>\n<div style=\"text-align:justify\"><strong>val<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Processing priority. Possible values: <code>LOW<\/code>, <code>HIGH<\/code>.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@P@<\/strong>LOW<\/code> decreases processing priority.\n<\/p>\n<h3><a id=\"func_path\"><\/a>path<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Appends specified path to the current URL.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@path<\/strong>@pathPart<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul>\n<li>\n<div style=\"text-align:justify\"><strong>pathPart<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Any path, e.g. <code>dir<\/code>, <code>\/dir<\/code> or <code>dir1\/dir2<\/code>.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code>https:\/\/mysite.com\/dir?a=1:<strong>@path<\/strong>@subdir1<\/code> returns <code>https:\/\/mysite.com\/dir\/<\/code> <code>subdir1?a=1<\/code>.\n<\/p>\n<h3><a id=\"func_arg\"><\/a>arg<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Adds specified argument to current URL.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@arg<\/strong>@name[@value]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"2\">\n<li>\n<div style=\"text-align:justify\"><strong>name<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Argument\u2019s name.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>value<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Argument\u2019s value.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code>https:\/\/mysite.com\/dir\/?a=1:<strong>@arg<\/strong>@b@2<\/code> returns <code>https:\/\/mysite.com\/dir\/?a=1&amp;b=2<\/code>.\n<\/p>\n<h3><a id=\"func_pageNums\"><\/a>pageNums<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Adds pagination path mask to current URL. If pagination is represented by an argument, no any results will be returned. By default, this function enumerates only already cached URLs. To force warming up of non-cached pages, particular numbering should be specified.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@pageNums[@[from-]to]<\/strong><\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"4\">\n<li>\n<div style=\"text-align:justify\"><strong>to<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Maximum page numbers to enumerate.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>from<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Starting page number to enumerate. Default value is 2.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Examples<br \/>\n<\/h4>\n<p>\n  Expression <code>https:\/\/mysite.com\/dir\/?a=1:<strong>@pageNums<\/strong><\/code> returns <code>https:\/\/mysite.com\/dir\/page\/*<\/code>.\n<\/p>\n<p>\n  Expression <code>\/dir\/:@<strong>pageNums<\/strong>@4<\/code> returns <code>\/dir\/page\/2<\/code>, <code>\/dir\/page\/3<\/code>, and <code>\/dir\/page\/4<\/code>.\n<\/p>\n<p>\n  Expression <code>\/dir\/:@<strong>pageNums<\/strong>@4-5<\/code> returns <code>\/dir\/page\/4<\/code>, and <code>\/dir\/page\/5<\/code>.\n<\/p>\n<h3><a id=\"func_commentPageNums\"><\/a>commentPageNums<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Adds comments\u2019 pagination path mask to current URL. If pagination is represented by an argument, no any results will be returned. By default, this function enumerates only already cached URLs. To force warming up of non-cached pages, particular numbering should be specified.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@commentPageNums[@[from-]to]<\/strong><\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"6\">\n<li>\n<div style=\"text-align:justify\"><strong>to<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Maximum page numbers to enumerate.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>from<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Starting page number to enumerate. Default value is 2.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Examples<br \/>\n<\/h4>\n<p>\n  Expression <code>https:\/\/mysite.com\/dir\/?a=1:<strong>@commentPageNums<\/strong><\/code> returns <code>https:\/\/mysite.com\/dir\/comment-page-*<\/code>.\n<\/p>\n<p>\n  Expression <code>\/dir\/:@<strong>commentPageNums<\/strong>@4<\/code> returns <code>\/dir\/comment-page-2<\/code>, <code>\/dir\/comment-page-3<\/code>, and <code>\/dir\/comment-page-4<\/code>.\n<\/p>\n<p>\n  Expression <code>\/dir\/:@<strong>commentPageNums<\/strong>@4-5<\/code> returns <code>\/dir\/comment-page-4<\/code>, and <code>\/dir\/comment-page-5<\/code>.\n<\/p>\n<h3><a id=\"func_terms\"><\/a>terms<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Returns all terms\u2019 URL\u2019s of specified taxonomies of the specified post.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@terms<\/strong>@taxonomy[,taxonomy][@postId[@maxItems[@flags]]]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul>\n<li>\n<div style=\"text-align:justify\"><strong>taxonomy<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      One of taxonomy registered in WordPress. E.g. <code>category<\/code>, <code>post_tag<\/code>, <code>product_tag<\/code>.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>postId<\/strong> (optional)\n    <\/div>\n<p style=\"text-align:justify\">\n      Post\u2019s ID. If it is omitted then all terms will be returned according to the next parameters.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>maxItems<\/strong> (optional)\n    <\/div>\n<p style=\"text-align:justify\">\n      Maximum items count.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>flags<\/strong> (optional)\n    <\/div>\n<p style=\"text-align:justify\">\n      Can be any combination of:\n    <\/p>\n<ul>\n<li>\n<div style=\"text-align:justify\"><strong>hideNonEmpty<\/strong>\n        <\/div>\n<p style=\"text-align:justify\">\n          All not empty terms will be excluded.\n        <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>hideEmpty<\/strong>\n        <\/div>\n<p style=\"text-align:justify\">\n          All empty terms will be excluded.\n        <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@terms<\/strong>@category@{ID} <\/code>returns permalinks of terms.\n<\/p>\n<h3><a id=\"func_termsOfClass\"><\/a>termsOfClass<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Returns all terms URL\u2019s of specified taxonomy classes of the specified post.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@termsOfClass<\/strong>@class[,class][@postType[@postId]]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul>\n<li>\n<div style=\"text-align:justify\"><strong>class<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Can be <code>categories<\/code> or <code>tags<\/code>.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>postType<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Post\u2019s type, e.g. <code>page<\/code>, <code>post<\/code>, <code>product<\/code>.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>postId<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Post\u2019s ID.\n    <\/p>\n<\/li>\n<\/ul>\n<h3><a id=\"func_home\"><\/a>home<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Returns site\u2019s home URL.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@home<\/strong><\/code>\n<\/p>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@home<\/strong><\/code> returns e.g. <code>https:\/\/mysite.com\/<\/code>.\n<\/p>\n<h3><a id=\"func_post\"><\/a>post<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Returns URL (permalink) of the specified post.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@post<\/strong>@postId[,postId2,...]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"4\">\n<li>\n<div style=\"text-align:justify\"><strong>postId<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Post\u2019s ID.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@post<\/strong>@123<\/code> returns e.g. <code>https:\/\/mysite.com\/sample-post<\/code>.\n<\/p>\n<h3><a id=\"func_postsBase\"><\/a>postsBase<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Returns root posts list URL for each specified post type.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@postsBase<\/strong>@postType[,postType]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"5\">\n<li>\n<div style=\"text-align:justify\"><strong>postType<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Post\u2019s type, e.g. <code>page<\/code>, <code>post<\/code>, <code>product<\/code>.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@postsBase<\/strong>@post<\/code> returns e.g. <code>https:\/\/mysite.com\/publications\/<\/code>.\n<\/p>\n<h3><a id=\"func_posts\"><\/a>posts<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Returns all posts\u2019 URLs of specified post types.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@posts<\/strong>@postType[,postType][@maxItems]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"6\">\n<li>\n<div style=\"text-align:justify\"><strong>postType<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Post\u2019s type, e.g. <code>page<\/code>, <code>post<\/code>, <code>product<\/code>.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>maxItems<\/strong> (optional)\n    <\/div>\n<p style=\"text-align:justify\">\n      Maximum items count.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@posts<\/strong>@product,page<\/code> returns e.g. <code>https:\/\/mysite.com\/products\/product-1<\/code>, <code>https:\/\/mysite.com\/products\/product-2<\/code>, \u2026, <code>https:\/\/mysite.com\/page-1<\/code>, <code>https:\/\/mysite.com\/page-2<\/code>, &#8230;\n<\/p>\n<h3><a id=\"func_postsViewable\"><\/a>postsViewable<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Returns all viewable posts\u2019 URLs of viewable post types.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@postsViewable<\/strong>[@maxItems]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"8\">\n<li>\n<div style=\"text-align:justify\"><strong>maxItems<\/strong> (optional)\n    <\/div>\n<p style=\"text-align:justify\">\n      Maximum items count.\n    <\/p>\n<\/li>\n<\/ul>\n<h3><a id=\"func_postsWithTerms\"><\/a>postsWithTerms<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Returns all pages\u2019 URLs that have specified term IDs.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@postsWithTerms<\/strong>@postType[,postType]@termId[,termId][@maxItems]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"9\">\n<li>\n<div style=\"text-align:justify\"><strong>postType<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Post\u2019s type, e.g. <code>page<\/code>, <code>post<\/code>, <code>product<\/code>.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>termId<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Term\u2019s ID.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>maxItems<\/strong> (optional)\n    <\/div>\n<p style=\"text-align:justify\">\n      Maximum items count.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@postsWithTerms@post@123<\/strong><\/code> returns all posts that have term with ID equals to 123.<br \/>Expression <code><strong>@terms@category@1:@postsWithTerms@post@{term_id}<\/strong><\/code> returns all posts with type \u2018post\u2019 that have categories with ID equals to 1.\n<\/p>\n<h3><a id=\"func_author\"><\/a>author<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Returns post author\u2019s URLs.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@author<\/strong>@authorId[,authorId2,...]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"12\">\n<li>\n<div style=\"text-align:justify\"><strong>authorId<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Author\u2019s ID.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@author<\/strong>@1<\/code> returns e.g. <code>https:\/\/mysite.com\/author\/name<\/code>.\n<\/p>\n<h3><a id=\"func_sitemapItems\"><\/a>sitemapItems<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Returns all pages\u2019 URLs from the specified sitemap.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code><strong>@sitemapItems<\/strong>[@sitemapUri]<\/code>\n<\/p>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@sitemapItems<\/strong>@\/sitemap_index.xml<\/code> returns all recursive page URLs from sitemap <code>sitemap_index.xml<\/code>.\n<\/p>\n<h3><a id=\"func_wooProdVars\"><\/a>wooProdVars<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Adds all specified product\u2019s variations combinations as parameters to current URL.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@wooProdVars<\/strong>@postId[@inclVar[,inclVar][@exclVar[,exclVar]]]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"13\">\n<li>\n<div style=\"text-align:justify\"><strong>postId<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Post\u2019s ID.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>inclVar<\/strong> (optional)\n    <\/div>\n<p style=\"text-align:justify\">\n      Variable name to be only included in enumeration.\n    <\/p>\n<\/li>\n<li>\n<div style=\"text-align:justify\"><strong>exclVar<\/strong> (optional)\n    <\/div>\n<p style=\"text-align:justify\">\n      Variable name to be excluded from enumeration.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@wooProdVars<\/strong>@{ID}@Color,Size<\/code> returns e.g. <code>?attribute_color=White&amp;attribute_size=Small<\/code>, <code>?attribute_color=White&amp;attribute_size=Very%20Small<\/code>, &#8230;\n<\/p>\n<p>\n  Expression <code>@posts@product:&lt;|@wooProdVars@{ID}&gt;<\/code> enumerates all products and all their variations.\n<\/p>\n<h3><a id=\"func_lang\"><\/a>lang<br \/>\n<\/h3>\n<p style=\"text-align:justify\">\n  Enumerates all specified languages corresponding to current URL.\n<\/p>\n<h4>\n  Syntax<br \/>\n<\/h4>\n<p style=\"text-align:justify\"><code class=\"p\"><strong>@lang<\/strong>@langId[,langId]<\/code>\n<\/p>\n<h4>\n  Arguments<br \/>\n<\/h4>\n<ul start=\"16\">\n<li>\n<div style=\"text-align:justify\"><strong>langId<\/strong>\n    <\/div>\n<p style=\"text-align:justify\">\n      Lang identifier, e.g. <code>en<\/code>, <code>lv<\/code>, <code>de<\/code>, \u2026. Special value <code>ALL<\/code> means all languages.\n    <\/p>\n<\/li>\n<\/ul>\n<h4>\n  Example<br \/>\n<\/h4>\n<p>\n  Expression <code><strong>@lang<\/strong>@lv,de:\/abc\/<\/code> returns e.g. <code>\/lv\/abc\/<\/code>, <code>\/de\/abc\/<\/code>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 &lt; and &gt; symbols (see in examples below)&#8230;.<\/p>\n","protected":false},"author":18,"featured_media":0,"parent":4812,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"rank_math_lock_modified_date":false},"categories":[816],"tags":[],"class_list":["post-7573","doc","type-doc","status-publish","hentry","category-accelerator"],"_links":{"self":[{"href":"https:\/\/www.s-sols.com\/api\/wp\/v2\/doc\/7573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.s-sols.com\/api\/wp\/v2\/doc"}],"about":[{"href":"https:\/\/www.s-sols.com\/api\/wp\/v2\/types\/doc"}],"author":[{"embeddable":true,"href":"https:\/\/www.s-sols.com\/api\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.s-sols.com\/api\/wp\/v2\/comments?post=7573"}],"up":[{"embeddable":true,"href":"https:\/\/www.s-sols.com\/api\/wp\/v2\/doc\/4812"}],"wp:attachment":[{"href":"https:\/\/www.s-sols.com\/api\/wp\/v2\/media?parent=7573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.s-sols.com\/api\/wp\/v2\/categories?post=7573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.s-sols.com\/api\/wp\/v2\/tags?post=7573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}