diff --git a/wp-plugin-info.json b/wp-plugin-info.json
index c12e235..d9247a4 100644
--- a/wp-plugin-info.json
+++ b/wp-plugin-info.json
@@ -1,16 +1,16 @@
{
"name": "WP Multi City",
"slug": "wp-multi-city",
- "version": "1.0.1",
- "download_url": "https://git.netranking.ru/bryzgalov/wp-multi-city/releases/download/v1.0.1/wp-multi-city-1.0.1.zip",
+ "version": "1.1.0",
+ "download_url": "https://git.netranking.ru/bryzgalov/wp-multi-city/releases/download/v1.1.0/wp-multi-city-1.1.0.zip",
"homepage": "https://git.netranking.ru/bryzgalov/wp-multi-city",
"requires": "6.0",
"tested": "6.9",
"requires_php": "8.0",
- "last_updated": "2026-05-17 12:02:11",
+ "last_updated": "2026-05-18 21:31:58",
"author": "Vladimir Bryzgalov",
"sections": {
"description": "Мультигородская подсистема: taxonomy town, [shortcode_dmr] для подстановок, URL-роутер /{city}/{path}/, ACF-driven page clones.",
- "changelog": "
1.0.1
- Add: процедурный wrapper `wpmc_main_town_slug()` (был задокументирован в README, но отсутствовал в коде).
- Fix: WP 6.7+ notice `_load_textdomain_just_in_time` — убраны `__()` обёртки из labels CPT/таксономии/ACF field group (плагин не поставляется с переводами).
- Fix: ACF `acf_get_value` \"called too early\" notice — добавлен `did_action('acf/init')` guard в `Helpers::main_town_slug()`, `index_town_alt_page_id`, `page_unic_swap`, `is_routable_path`, `alt_get_field`. До инициализации ACF возвращают безопасные defaults (null/true).
1.0.0
- Первый релиз. MVP-ядро завершено (S1–S7 эпика cp-cw4).
- taxonomy town + CPT shortcode-town + ACF list_shortcode repeater.
- [shortcode_dmr id=N] для подстановок по городу.
- URL-роутер /{city}/{path}/ с поддержкой page_unic / main_page_alt / page_no_rep.
- Глобальные фильтры the_title, home_url, post_link, acf/load_value, rest_url.
- Self-hosted updates через Gitea + plugin-update-checker v5.6.
"
+ "changelog": "1.1.0
- Change: `Redirect::handle()` переписан на washanyanya-style. Триггерится на `is_404()` (хук `template_redirect` priority 1), ищет private/publish page по URL slug через `get_posts`, матчит с `page_unic`, делает 301 на канонический `/{city}/{orig-slug}/`. Старая семантика (триггер по `$post->ID === page_new`) удалена — она покрывала только редкий edge-кейс published clone with own URL.
- Change: Redirect handler hook переехал с `wp` priority 9998 на `template_redirect` priority 1 (стандарт WP для redirects).
1.0.1
- Add: процедурный wrapper `wpmc_main_town_slug()` (был задокументирован в README, но отсутствовал в коде).
- Fix: WP 6.7+ notice `_load_textdomain_just_in_time` — убраны `__()` обёртки из labels CPT/таксономии/ACF field group (плагин не поставляется с переводами).
- Fix: ACF `acf_get_value` \"called too early\" notice — добавлен `did_action('acf/init')` guard в `Helpers::main_town_slug()`, `index_town_alt_page_id`, `page_unic_swap`, `is_routable_path`, `alt_get_field`. До инициализации ACF возвращают безопасные defaults (null/true).
1.0.0
- Первый релиз. MVP-ядро завершено (S1–S7 эпика cp-cw4).
- taxonomy town + CPT shortcode-town + ACF list_shortcode repeater.
- [shortcode_dmr id=N] для подстановок по городу.
- URL-роутер /{city}/{path}/ с поддержкой page_unic / main_page_alt / page_no_rep.
- Глобальные фильтры the_title, home_url, post_link, acf/load_value, rest_url.
- Self-hosted updates через Gitea + plugin-update-checker v5.6.
"
}
}