Выражения можно использовать при обновлении записи и зависимостях для обновления всего. Такие выражения позволяют определять области действия страницы или наборы страниц для обработки. Каждая последующая часть выражения отделяется символом :
. Кроме того, существуют ручные перечисления, разделенные символом |
и заключенный в символы <
и >
(см. примеры ниже).
Кроме того, можно использовать звездочку в конце для обновления всех вложенных URL-адресов (но только если они закэшированы), например /page1/*
. Также, звездочку внутри можно использовать для перечисления всех совпадающих URL-адресов (только если они закэшированы), например, /page*
.
Примеры#
Условие: выражение @IF@{post_type}@page:@path@subdir1
добавляет subdir1
к текущему URL, если тип записи равен page
.
Перечисление: выражение a:<b|c>
возвращает строки ab
и ac
.
Функции#
Есть специальные функции. Аргументами любой функции могут быть любые значения и поля доступа, например {post_type}
. Использование любой функции должно начинаться с символа @
. Все аргументы должны быть также разделены символом @
.
Необязательные части выражения заключены в кавычки [] в описании ниже.
Доступные функции:
- IF
- path
- arg
- pageNums
- commentPageNums
- terms
- termsOfClass
- home
- post
- postsBase
- posts
- postsViewable
- postsWithTerms
- sitemapItems
- wooProdVars
IF#
Условное исполнение.
Синтаксис#
@IF@val[@compareOperation]@valCmp[,valCmp]:exprPositive
@IF@val[@compareOperation]@valCmp[,valCmp][:<exprPositive[|exprNegative]>]
Аргументы#
- val
Любое значение для сравнения.
- valCmp
Любое значение для сравнения с.
- compareOperation (необязательно)
Может быть одним из
=
,!=
,<
,<=
,>
,>=
. По умолчанию это=
. - exprPositive
Любое выражение, которое будет выполнено, если условие истинно.
- exprNegative (необязательно)
Любое выражение, которое будет выполнено, если условие ложно.
Пример#
Выражение @IF@{post_type}@product,post:<?a=1|?b=1>
возвращает ?a=1
, если тип записи product
или post
, или ?b=1
, если нет.
path#
Добавляет указанный путь к текущему URL.
Синтаксис#
@path@pathPart
Аргументы#
- pathPart
Любой путь, например
dir
,/dir
илиdir1/dir2
.
Пример#
Выражение https://mysite.com/dir?a=1:@path@subdir1
возвращает https://mysite.com/dir/subdir1?a=1
.
arg#
Добавляет указанный аргумент к текущему URL.
Синтаксис#
@arg@name[@value]
Аргументы#
- name
Имя аргумента.
- value
Значение аргумента.
Пример#
Выражение https://mysite.com/dir/?a=1:@arg@b@2
возвращает https://mysite.com/dir/?a=1&b=2
.
pageNums#
Добавляет маску пути пагинации к текущему URL. Если разбиение на страницы представлено аргументом, никакие результаты не будут возвращены.
Синтаксис#
@pageNums
Пример#
Выражение https://mysite.com/dir/?a=1:@pageNums
возвращает https://mysite.com/dir/page/*
.
commentPageNums#
Добавляет маску пути пагинации комментариев к текущему URL. Если разбиение на страницы представлено аргументом, никакие результаты не будут возвращены.
Синтаксис#
@commentPageNums
Пример#
Выражение https://mysite.com/dir/?a=1:@commentPageNums
возвращает https://mysite.com/dir/comment-page-*
.
terms#
Возвращает URL-адреса всех терминов указанных таксономий указанного поста.
Синтаксис#
@terms@taxonomy[,taxonomy][@postId[@maxItems[@flags]]]
Аргументы#
- taxonomy
Одна из таксономий, зарегистрированных в WordPress. Например,
category
,tag
,product_tag
. - postId
Идентификатор записи. Если его не указать, то будут возвращены все термины в соответствии со следующими параметрами.
- maxItems (необязательно)
Максимальное количество элементов.
- flags (необязательно)
Может быть любой комбинацией:
- hideNonEmpty
Все непустые термины будут исключены.
- hideEmpty
Все пустые термины будут исключены.
-
Пример#
Выражение @terms@category@{ID}
возвращает постоянные ссылки терминов.
termsOfClass#
Возвращает все URL-адреса терминов указанных классов таксономии указанной записи.
Синтаксис#
@termsOfClass@class[,class]@postType@postId
Аргументы#
- class
Могут быть
categories
илиtags
. - postType
Тип записи, например
page
,post
,product
. - postId
Идентификатор записи.
home#
Возвращает домашний URL сайта.
Синтаксис#
@home
Пример#
Выражение @home
возвращает, например, https://mysite.com/
.
post#
Возвращает URL (постоянную ссылку) указанной записи.
Синтаксис#
@post@postId
Аргументы#
- postId
Идентификатор записи.
Пример#
Выражение @post@123
возвращает, например, https://mysite.com/sample-post
.
postsBase#
Возвращает URL-адрес корневого списка записей для каждого указанного типа записи.
Синтаксис#
@postsBase@postType[,postType]
Аргументы#
- postType
Тип записи, например
page
,post
,product
.
Пример#
Выражение @postsBase@post
возвращает, например, https://mysite.com/publications/
.
posts#
Возвращает URL-адреса всех записей указанных типов.
Синтаксис#
@posts@postType[,postType][@maxItems]
Аргументы#
- postType
Тип записи, например
page
,post
,product
. - maxItems (необязательно)
Максимальное количество элементов.
Пример#
Выражение @posts@product,page
возвращает, например https://mysite.com/products/product-1
, https://mysite.com/products/product-2
, …, https://mysite.com/page-1
, https://mysite.com/page-2
, …
postsViewable#
Возвращает URL-адреса всех видимых записей видимых типов.
Синтаксис#
@postsViewable[@maxItems]
Аргументы#
- maxItems (необязательно)
Максимальное количество элементов.
postsWithTerms#
Возвращает URL-адреса всех страниц с указанными идентификаторами терминов.
Синтаксис#
@postsWithTerms@postType[,postType]@termId[,termId][@maxItems]
Аргументы#
- postType
Тип записи, например
page
,post
,product
. - termId
Идентификатор термина.
- maxItems (необязательно)
Максимальное количество элементов.
Пример#
Выражение @postsWithTerms@post@123
возвращает все записи, у которых идентификатор термина равен 123.
Выражение @terms@category@1:@postsWithTerms@post@{term_id}
возвращает все записи типа «post», которые имеют категории с идентификаторами, равным записи с идентификатором 1.
sitemapItems#
Возвращает URL-адреса всех страниц из указанной карты сайта.
Синтаксис#
@sitemapItems[@sitemapUri]
Пример#
Выражение @sitemapItems@/sitemap_index.xml
возвращает все рекурсивные URL-адреса страниц из карты сайта sitemap_index.xml
.
wooProdVars#
Добавляет все комбинации указанных вариаций товара в качестве параметров к текущему URL.
Синтаксис#
@wooProdVars@postId[@inclVar[,inclVar][@exclVar[,exclVar]]]
Аргументы#
- postId
Идентификатор записи.
- inclVar (необязательно)
Имя вариации, только которая должна быть включена в перечисление.
- exclVar (необязательно)
Имя вариации для исключения из перечисления.
Пример#
Выражение @wooProdVars@{ID}@Color,Size
возвращает, например ?attribute_color=White&attribute_size=Small
, ?attribute_color=White&attribute_size=Very%20Small
, …
Выражение @posts@product:<|@wooProdVars@{ID}>
перечисляет все продукты и все их вариации.