This website requires JavaScript.
1aaae78b3f
wp-plugin-info.json: update for 1.1.0
main
Vladimir Bryzgalov
2026-05-19 02:31:58 +05:00
771c949ba8
release: 1.1.0
v1.1.0
Vladimir Bryzgalov
2026-05-19 02:31:57 +05:00
07ed1703ba
fix(wpmc 1.1.0): review polish — continue on bad permalink, ACF guard, drop suppress_filters, process-isolated AJAX test
Vladimir Bryzgalov
2026-05-19 02:30:26 +05:00
9b1689dc2f
docs(wpmc 1.1.0): changelog entries in readme.txt + CHANGELOG.md
Vladimir Bryzgalov
2026-05-19 02:23:52 +05:00
43e3efc5a2
feat(wpmc 1.1.0): Redirect::handle reverse-slug lookup on is_404
Vladimir Bryzgalov
2026-05-19 02:22:24 +05:00
9586810507
feat(wpmc 1.1.0): Redirect hook moves to template_redirect@1
Vladimir Bryzgalov
2026-05-19 02:15:46 +05:00
0ec9733368
docs(wpmc 1.1.0): implementation plan for Redirect reverse-slug lookup
Vladimir Bryzgalov
2026-05-19 02:11:33 +05:00
20aff663d4
spec(wpmc 1.1.0): Redirect::handle reverse-slug lookup on is_404 (washanyanya-style)
Vladimir Bryzgalov
2026-05-19 02:04:06 +05:00
d0a7b8eb9d
wp-plugin-info.json: update for 1.0.1
Vladimir Bryzgalov
2026-05-17 17:02:11 +05:00
d36408a4a6
release: 1.0.1
v1.0.1
Vladimir Bryzgalov
2026-05-17 17:02:11 +05:00
c002b08275
docs(wpmc 1.0.1): changelog entries in readme.txt + CHANGELOG.md
Vladimir Bryzgalov
2026-05-17 17:01:23 +05:00
82d2345d12
fix(wpmc 1.0.1): guard ACF helpers with did_action('acf/init')
Vladimir Bryzgalov
2026-05-17 17:01:19 +05:00
949fb19e95
fix(wpmc 1.0.1): remove __() from labels (no translations, fixes WP 6.7 notice)
Vladimir Bryzgalov
2026-05-17 17:01:11 +05:00
19409ac062
feat(wpmc 1.0.1): wpmc_main_town_slug procedural wrapper
Vladimir Bryzgalov
2026-05-17 17:01:05 +05:00
4c6173619b
wp-plugin-info.json: update for 1.0.0
Vladimir Bryzgalov
2026-05-17 12:49:33 +05:00
1e6514b114
release: 1.0.0
v1.0.0
Vladimir Bryzgalov
2026-05-17 12:49:33 +05:00
5f77c5e742
fix(wpmc S7): release.sh allow empty release commit
Vladimir Bryzgalov
2026-05-17 12:49:27 +05:00
43815dea2d
refactor(wpmc S7): tighten tests + cleanup bootstrap shims
Vladimir Bryzgalov
2026-05-17 12:31:07 +05:00
3f08bf6a5e
feat(wpmc S7): release.sh Gitea release helper (mirror cf7stg flow)
Vladimir Bryzgalov
2026-05-17 12:24:16 +05:00
37e604e01e
test(wpmc S7): ZipArchiveBuildTest verifies git archive integrity
Vladimir Bryzgalov
2026-05-17 12:23:01 +05:00
bff3339803
docs(wpmc S7): README expand with Quick Start + Hook API + Migration guide
Vladimir Bryzgalov
2026-05-17 12:22:34 +05:00
18ffd94240
docs(wpmc S7): CHANGELOG.md mirror of readme.txt changelog
Vladimir Bryzgalov
2026-05-17 12:21:55 +05:00
0ef61a6303
docs(wpmc S7): readme.txt WP.org format with 1.0.0 changelog
Vladimir Bryzgalov
2026-05-17 12:21:47 +05:00
fa7384dbff
feat(wpmc S7): .gitattributes export-ignore for git archive build
Vladimir Bryzgalov
2026-05-17 12:21:01 +05:00
72c93bdd98
feat(wpmc S7): bump version to 1.0.0 + Tested up to 6.9
Vladimir Bryzgalov
2026-05-17 12:20:49 +05:00
25d50912f6
feat(wpmc S7): Plugin::register_update_checker wires PUC v5.6
Vladimir Bryzgalov
2026-05-17 12:20:31 +05:00
17ac243a1a
feat(wpmc S7): wp-plugin-info.json metadata for PUC
Vladimir Bryzgalov
2026-05-17 12:15:59 +05:00
c264bc433a
feat(wpmc S7): vendor Plugin Update Checker v5.6
Vladimir Bryzgalov
2026-05-17 12:15:44 +05:00
011ccb8dbf
docs(wpmc S7): implementation plan for release flow + PUC
Vladimir Bryzgalov
2026-05-17 12:00:47 +05:00
831a8d46cf
spec(wpmc S7): README + Gitea release + PUC v5.6 (mirror cf7stg flow)
Vladimir Bryzgalov
2026-05-17 00:48:44 +05:00
6499620e38
docs(wpmc S6): README Testing section + mark S6 done in roadmap
Vladimir Bryzgalov
2026-05-17 00:11:32 +05:00
7918c92d88
docs(wpmc S6): manual QA checklist covering 13 cp-cw4 acceptance areas
Vladimir Bryzgalov
2026-05-17 00:11:13 +05:00
fba5c8a976
ci(wpmc S6): Gitea Actions workflow for PHPUnit on push/PR
Vladimir Bryzgalov
2026-05-17 00:09:59 +05:00
015ba57ab0
docs(wpmc S6): implementation plan for CI + QA checklist
Vladimir Bryzgalov
2026-05-17 00:07:57 +05:00
0a3e299c7f
spec(wpmc S6): CI workflow + manual QA checklist (minimal scope)
Vladimir Bryzgalov
2026-05-16 23:57:56 +05:00
dfcadc5339
fix(wpmc S5): wrap Redirect get_permalink + safe rest_url replacement
Vladimir Bryzgalov
2026-05-16 22:40:46 +05:00
bd0edfe01f
docs(wpmc): mark S5 done in README roadmap
Vladimir Bryzgalov
2026-05-16 22:36:33 +05:00
2d3b52e928
feat(wpmc S5): Plugin::boot wires TitleFilter + LinkFilter + RestUrlFilter
Vladimir Bryzgalov
2026-05-16 22:35:52 +05:00
f05ae24882
feat(wpmc S5): RestUrlFilter forces HTTPS + preserves HTTP_HOST
Vladimir Bryzgalov
2026-05-16 22:35:23 +05:00
6fe73465be
feat(wpmc S5): LinkFilter::add_town_prefix path-only + full URL handling
Vladimir Bryzgalov
2026-05-16 22:33:59 +05:00
b7fb46ea38
feat(wpmc S5): LinkFilter scaffold + register 3 URL filters
Vladimir Bryzgalov
2026-05-16 22:33:39 +05:00
ca8a0a8b43
feat(wpmc S5): TitleFilter hooks the_title + single_cat_title do_shortcode
Vladimir Bryzgalov
2026-05-16 22:31:34 +05:00
a835ba3662
feat(wpmc S5): Helpers::without_url_filters bypass counter
Vladimir Bryzgalov
2026-05-16 22:31:00 +05:00
3824e28933
docs(wpmc S5): implementation plan for URL filters
Vladimir Bryzgalov
2026-05-16 22:29:27 +05:00
441feea191
spec(wpmc S5): URL filters design — town prefix + rest_url + without_url_filters
Vladimir Bryzgalov
2026-05-16 21:10:31 +05:00
26c4a8d9a0
docs(wpmc): mark S4 done in README roadmap
Vladimir Bryzgalov
2026-05-16 20:06:51 +05:00
c800297c8c
test(wpmc S4): lock reset_cache invalidation for page_unic_cache
Vladimir Bryzgalov
2026-05-16 20:06:03 +05:00
3da1db1ccc
feat(wpmc S4): Plugin::boot wires OptionsPage + TermMeta + Router + Redirect
Vladimir Bryzgalov
2026-05-16 20:05:43 +05:00
eb84bb8274
feat(wpmc S4): Redirect class 301s on page_unic clone access
Vladimir Bryzgalov
2026-05-16 20:03:04 +05:00
004a8517e4
feat(wpmc S4): Router::route internal page + page_unic swap
Vladimir Bryzgalov
2026-05-16 19:59:00 +05:00
98e16fce7c
test(wpmc S4): Router root URL index_town_alt fallback + no-data behaviors
Vladimir Bryzgalov
2026-05-16 19:58:21 +05:00
9af4c2976e
feat(wpmc S4): Router::route root URL uses main_page_alt term meta
Vladimir Bryzgalov
2026-05-16 19:58:04 +05:00
b218f5588b
test(wpmc S4): Router::route skip-condition invariants
Vladimir Bryzgalov
2026-05-16 19:57:28 +05:00
d30a039a73
feat(wpmc S4): Router scaffold + query_vars filter for town
Vladimir Bryzgalov
2026-05-16 19:57:12 +05:00
fc21fd1f06
feat(wpmc S4): OptionsPage::do_register registers routing field group
Vladimir Bryzgalov
2026-05-16 19:54:23 +05:00
79de284f53
feat(wpmc S4): OptionsPage scaffold + main_town_slug filter wiring
Vladimir Bryzgalov
2026-05-16 19:39:18 +05:00
11bfaa08a0
test(wpmc S4): restore ACF-missing guard assertions + tighten stub signature
Vladimir Bryzgalov
2026-05-16 19:37:30 +05:00
494061e39f
feat(wpmc S4): TermMeta registers ACF main_page_alt on taxonomy town
Vladimir Bryzgalov
2026-05-16 19:33:39 +05:00
b967a3a59f
feat(wpmc S4): Helpers::index_town_alt_page_id reads ACF option
Vladimir Bryzgalov
2026-05-16 19:22:59 +05:00
d724089b2d
feat(wpmc S4): Helpers::page_unic_swap with per-request cache
Vladimir Bryzgalov
2026-05-16 19:22:37 +05:00
d122bfacb5
feat(wpmc S4): Helpers::is_routable_path with page_no_rep exclusions
Vladimir Bryzgalov
2026-05-16 19:22:01 +05:00
f4184a7777
feat(wpmc S4): Helpers::main_town_slug reads ACF option
Vladimir Bryzgalov
2026-05-16 19:21:31 +05:00
0565357b5e
test(wpmc S4): WP_Query stub + wp_query globals cleanup
Vladimir Bryzgalov
2026-05-16 19:20:00 +05:00
68db1256e7
docs(wpmc S4): implementation plan for URL router
Vladimir Bryzgalov
2026-05-16 19:12:57 +05:00
1ddbc55204
spec(wpmc S4): URL router design — legacy wp_query patch + ACF page_unic + 301
Vladimir Bryzgalov
2026-05-13 23:13:54 +05:00
259470ca63
refactor(wpmc S3): get_terms modern signature + REQUEST_URI cleanup
Vladimir Bryzgalov
2026-05-12 20:17:08 +05:00
9b23f56e57
docs(wpmc): mark S3 done in README roadmap
Vladimir Bryzgalov
2026-05-12 20:12:39 +05:00
d8b0d01f1c
feat(wpmc S3): procedural wpmc_* API + smoke test
Vladimir Bryzgalov
2026-05-12 20:11:47 +05:00
3dbca34234
feat(wpmc S3): Plugin::boot() wires ShortcodeDmr
Vladimir Bryzgalov
2026-05-12 20:10:42 +05:00
adbbd205a1
test(wpmc S3): lock per-request render cache for ShortcodeDmr
Vladimir Bryzgalov
2026-05-12 20:07:30 +05:00
9cacf18725
test(wpmc S3): ShortcodeDmr::render edge-case coverage
Vladimir Bryzgalov
2026-05-12 20:07:18 +05:00
0be1a5a08f
feat(wpmc S3): ShortcodeDmr::render resolves text by current town
Vladimir Bryzgalov
2026-05-12 20:07:01 +05:00
464d254f1c
test(wpmc S3): lock add_shortcode call in ShortcodeDmr::do_register
Vladimir Bryzgalov
2026-05-12 20:06:07 +05:00
f68b30b4e6
feat(wpmc S3): ShortcodeDmr scaffold + register init hook
Vladimir Bryzgalov
2026-05-12 20:05:50 +05:00
22099cf1d6
feat(wpmc S3): Helpers::remove_domain_link via parse_url
Vladimir Bryzgalov
2026-05-12 20:04:10 +05:00
11bd3a06b0
feat(wpmc S3): Helpers::alt_get_field with do_shortcode + filter
Vladimir Bryzgalov
2026-05-12 20:02:57 +05:00
1f343dfaf2
test(wpmc S3): current_town fallback + filter + memoization coverage
Vladimir Bryzgalov
2026-05-12 19:58:42 +05:00
f81cefefbe
feat(wpmc S3): Helpers::current_town URI-match path
Vladimir Bryzgalov
2026-05-12 19:58:19 +05:00
58838b0c19
feat(wpmc S3): Helpers::get_term_by_slug with per-request cache
Vladimir Bryzgalov
2026-05-12 19:56:54 +05:00
176d8e0c0b
feat(wpmc S3): Helpers scaffold + reset_cache wiring
Vladimir Bryzgalov
2026-05-12 19:55:09 +05:00
002ddde424
docs(wpmc S3): implementation plan for shortcode_dmr + helpers
Vladimir Bryzgalov
2026-05-12 19:53:49 +05:00
245c114ec3
spec(wpmc S3): design doc for shortcode_dmr + helpers
Vladimir Bryzgalov
2026-05-12 19:36:00 +05:00
12a271981a
chore(wpmc S2): defensive defines + PostType::SLUG refs + stale comment
Vladimir Bryzgalov
2026-05-12 18:02:14 +05:00
38bb7dae55
feat(wpmc S2): make Plugin::boot() idempotent
Vladimir Bryzgalov
2026-05-12 18:01:43 +05:00
bc16851b71
docs(wpmc): mark S1+S2 done in README roadmap
Vladimir Bryzgalov
2026-05-12 17:55:58 +05:00
e2399e2360
feat(wpmc S2): Plugin::boot() wires Taxonomy + PostType + FieldGroup
Vladimir Bryzgalov
2026-05-12 17:53:58 +05:00
f859385761
chore(wpmc S2): pin patchwork cache + tighten noop test guard
Vladimir Bryzgalov
2026-05-12 17:52:34 +05:00
c1db5c7712
docs(wpmc S2): add implementation plan for taxonomy/CPT/ACF tasks
Vladimir Bryzgalov
2026-05-12 17:49:09 +05:00
519e436337
feat(wpmc S2): register ACF group list_shortcode for shortcode-town
Vladimir Bryzgalov
2026-05-12 17:47:57 +05:00
ded71e8fd0
test(wpmc S2): lock ACF-missing guard for FieldGroup
Vladimir Bryzgalov
2026-05-12 17:47:09 +05:00
551f107344
feat(wpmc S2): FieldGroup::register() attaches acf/init hook
Vladimir Bryzgalov
2026-05-12 17:45:51 +05:00
054439aade
test(wpmc S2): assert query_var=false in PostType test for parity
Vladimir Bryzgalov
2026-05-12 17:44:31 +05:00
f95d09cc89
feat(wpmc S2): register CPT shortcode-town with required args
Vladimir Bryzgalov
2026-05-12 17:42:36 +05:00
e0b87dde0c
feat(wpmc S2): PostType::register() attaches init hook
Vladimir Bryzgalov
2026-05-12 17:42:06 +05:00
cb9cbddce3
chore(wpmc S2): remove unused Brain\Monkey\Actions import
Vladimir Bryzgalov
2026-05-12 17:40:58 +05:00
b06ea9e605
feat(wpmc S2): register taxonomy town with required args
Vladimir Bryzgalov
2026-05-12 17:37:29 +05:00
53a784bbe8
feat(wpmc S2): Taxonomy::register() attaches init hook
Vladimir Bryzgalov
2026-05-12 17:36:26 +05:00
945ae898ac
fix(wpmc S2): drop redundant Mockery::close from TestCase teardown
Vladimir Bryzgalov
2026-05-12 17:34:47 +05:00
d98499dbb2
test(wpmc S2): setup PHPUnit + Brain Monkey + Mockery
Vladimir Bryzgalov
2026-05-12 17:31:53 +05:00
fad5a7d03b
chore: init wp-multi-city v0.1.0 with S1 skeleton + S2 design spec
Vladimir Bryzgalov
2026-05-12 17:21:08 +05:00