wp rewrite

Перечисляет или сбрасывает правила перезаписи сайта, обновляет структуру ссылок.

See WP Rewrite class reference.

Список команд Описание
wp rewrite flush Сброс правил перезаписи.
wp rewrite structure Обновляет структуру постоянных ссылок.
wp rewrite list Возвращает список текущих правил перезаписи.

Примеры

# Flush rewrite rules
$ wp rewrite flush
Success: Rewrite rules flushed.

# Update permalink structure
$ wp rewrite structure '/%year%/%monthnum%/%postname%'
Success: Rewrite structure set.

# List rewrite rules
$ wp rewrite list --format=csv
match,query,source
^wp-json/?$,index.php?rest_route=/,other
^wp-json/(.*)?,index.php?rest_route=/$matches[1],other
category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category
category/(.+?)/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category
category/(.+?)/embed/?$,index.php?category_name=$matches[1]&embed=true,category

Исходный код команд


wp rewrite flush

Сброс правил перезаписи.

wp rewrite flush [--hard]

Обновляет правила перезаписи ЧПУ: удаляет имеющиеся, генерирует и записывает новые. Команда работает на основе функции flush_rewrite_rules(), а значит её описание справедливо и для этой команды.

Для восстановления файла .htaccess с помощью WP-CLI вам нужно добавить модуль mod_rewrite в ваш wp-cli.yml или config.yml. Например:

apache_modules:
  - mod_rewrite

Если этого не сделать и воспользоваться командой wp rewrite flush --hard, то вернётся ошибка "Warning: Regenerating a .htaccess file requires special configuration. See usage docs.", то есть ЧПУ будет сброшено в базе данных, но файл .htaccess останется без изменений.

Использование

wp rewrite flush [--hard]

Можно указать Глобальные параметры и следующие:

[--hard]
Нужно ли обновлять файл .htaccess или просто обновить правила в базе данных. Работает только на обычном сайте (не мультисайт).

Примеры

$ wp rewrite flush
Success: Rewrite rules flushed.

wp rewrite structure

Обновляет структуру постоянных ссылок.

wp rewrite structure <permastruct> [--category-base=<base>] [--tag-base=<base>] [--hard]

Sets the post permalink structure to the specified pattern.

To regenerate a .htaccess file with WP-CLI, you'll need to add the mod_rewrite module to your WP-CLI config. For example:

apache_modules:

  • mod_rewrite

Использование

wp rewrite structure {permastruct} [--category-base={base}] [--tag-base={base}] [--hard]

Можно указать Глобальные параметры и следующие:

{permastruct}
The new permalink structure to apply.
[--category-base={base}]
Set the base for category permalinks, i.e. '/category/'.
[--tag-base={base}]
Set the base for tag permalinks, i.e. '/tag/'.
[--hard]
Perform a hard flush - update .htaccess rules as well as rewrite rules in database.

Примеры

$ wp rewrite structure '/%year%/%monthnum%/%postname%/'
Success: Rewrite structure set.

wp rewrite list

Возвращает список текущих правил перезаписи.

wp rewrite list [--match=<url>] [--source=<source>] [--fields=<fields>] [--format=<format>]

Использование

wp rewrite list [--match={url}] [--source={source}] [--fields={fields}] [--format={format}]

Можно указать Глобальные параметры и следующие:

[--match={url}]
Show rewrite rules matching a particular URL.
[--source={source}]
Показывать правила перезаписи из определенного источника. Например, добавив --source=event, вы увидите только правила для типа записи event.
[--fields={fields}]
Limit the output to specific fields. Defaults to match,query,source.
[--format={format}]

Render output in a particular format.
По умолчанию: table
Может быть:

  • table
  • csv
  • json
  • count
  • yaml

Примеры

$ wp rewrite list --format=csv
match,query,source
^wp-json/?$,index.php?rest_route=/,other
^wp-json/(.*)?,index.php?rest_route=/$matches[1],other
category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category
category/(.+?)/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category
category/(.+?)/embed/?$,index.php?category_name=$matches[1]&embed=true,category