Выражения можно использовать при обновлении записи и зависимостях для обновления всего. Такие выражения позволяют определять области действия страницы или наборы страниц для обработки. Каждая последующая часть выражения отделяется символом :
. Кроме того, существуют ручные перечисления, разделенные символом |
и заключенный в символы <
и >
(см. примеры ниже).
Кроме того, можно использовать звездочку в конце для обновления всех вложенных 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. Если разбиение на страницы представлено аргументом, никакие результаты не будут возвращены. По умолчанию эта функция перечисляет только уже кэшированные URL. Для принудительного прогрева некэшированных страниц следует указать определенную нумерацию.
Синтаксис#
@pageNums[@[from-]to]
Аргументы#
- to
Максимальное количество страниц для перечисления.
- from
Начальный номер страницы для перечисления. Значение по умолчанию — 2.
Примеры#
Выражение https://mysite.com/dir/?a=1:@pageNums
возвращает https://mysite.com/dir/page/*
.
Выражение /dir/:@pageNums@4
возвращает /dir/page/2
, /dir/page/3
, и /dir/page/4
.
Выражение /dir/:@pageNums@4-5
возвращает /dir/page/4
, и /dir/page/5
.
commentPageNums#
Добавляет маску пути пагинации комментариев к текущему URL. Если разбиение на страницы представлено аргументом, никакие результаты не будут возвращены. По умолчанию эта функция перечисляет только уже кэшированные URL. Для принудительного прогрева некэшированных страниц следует указать определенную нумерацию.
Синтаксис#
@commentPageNums[@[from-]to]
Аргументы#
- to
Максимальное количество страниц для перечисления.
- from
Начальный номер страницы для перечисления. Значение по умолчанию — 2.
Примеры#
Выражение https://mysite.com/dir/?a=1:@commentPageNums
возвращает https://mysite.com/dir/comment-page-*
.
Выражение /dir/:@commentPageNums@4
возвращает /dir/comment-page-2
, /dir/comment-page-3
, и /dir/comment-page-4
.
Выражение /dir/:@commentPageNums@4-5
возвращает /dir/comment-page-4
, и /dir/comment-page-5
.
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}>
перечисляет все продукты и все их вариации.