Выражения для обновленияАкселератор для WordPress

Выражения можно использовать при обновлении записи и зависимостях для обновления всего. Такие выражения позволяют определять области действия страницы или наборы страниц для обработки. Каждая последующая часть выражения отделяется символом : . Кроме того, существуют ручные перечисления, разделенные символом | и заключенный в символы < и > (см. примеры ниже).

Кроме того, можно использовать звездочку в конце для обновления всех вложенных URL-адресов (но только если они закэшированы), например /page1/*. Также, звездочку внутри можно использовать для перечисления всех совпадающих URL-адресов (только если они закэшированы), например, /page* .

Примеры#

Условие: выражение @IF@{post_type}@page:@path@subdir1 добавляет subdir1 к текущему URL, если тип записи равен page.

Перечисление: выражение a:<b|c> возвращает строки ab и ac.

Функции#

Есть специальные функции. Аргументами любой функции могут быть любые значения и поля доступа, например {post_type}. Использование любой функции должно начинаться с символа @. Все аргументы должны быть также разделены символом @.

Необязательные части выражения заключены в кавычки [] в описании ниже.

Доступные функции:

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[,postId2,...]

Аргументы#

  • 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.

author#

@author@authorId[,authorId2,...]

Аргументы#

  • authorId

    Идентификатор автора.

Пример#

Выражение @author@1 возвращает, например, https://mysite.com/author/name.

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}> перечисляет все продукты и все их вариации.

Добавить комментарий