From 6171ddd01c2c28739e9f4c221958611c44334592 Mon Sep 17 00:00:00 2001 From: Pavol Caban Date: Thu, 2 Jul 2026 15:38:26 +0700 Subject: [PATCH 1/2] fix(core): preserve manual pick order in e-picker-query-loop (0.15.3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Posts Picker Query Loop built its WP_Query with post__in but never set orderby, so WP_Query fell back to orderby=date DESC and re-sorted the picked posts by publish date — discarding the editor's hand-picked order on the frontend. Set orderby => 'post__in' so picked posts render in the chosen order. Release prep for webentor-core 0.15.3: version bump (package.json + composer.json), CHANGELOG entry, compatibility-matrix row. Claude-Session: https://claude.ai/code/session_01EQPEj5hTGqsPPg2JCu456Q --- docs/src/compatibility-matrix.md | 1 + packages/webentor-core/CHANGELOG.md | 4 ++++ packages/webentor-core/composer.json | 2 +- packages/webentor-core/package.json | 2 +- .../resources/blocks/e-picker-query-loop/data.php | 1 + 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/src/compatibility-matrix.md b/docs/src/compatibility-matrix.md index 416a0a2..d90e88a 100644 --- a/docs/src/compatibility-matrix.md +++ b/docs/src/compatibility-matrix.md @@ -4,6 +4,7 @@ | starterVersion | themeVersion | coreVersion | configsVersion | setupCliVersion | php | node | | --- | --- | --- | --- | --- | --- | --- | +| 2.1.1 | 2.1.1 | 0.15.3 | 1.1.0 | 1.1.0 | >=8.3 | >=20 | | 2.1.1 | 2.1.1 | 0.15.2 | 1.1.0 | 1.1.0 | >=8.3 | >=20 | | 2.1.1 | 2.1.1 | 0.15.1 | 1.1.0 | 1.1.0 | >=8.3 | >=20 | | 2.1.0 | 2.1.0 | 0.15.1 | 1.1.0 | 1.1.0 | >=8.3 | >=20 | diff --git a/packages/webentor-core/CHANGELOG.md b/packages/webentor-core/CHANGELOG.md index 849913a..3acda58 100644 --- a/packages/webentor-core/CHANGELOG.md +++ b/packages/webentor-core/CHANGELOG.md @@ -1,5 +1,9 @@ # Webentor Core Changelog +## 0.15.3 + +- **Fix `e-picker-query-loop` ignoring the manual pick order.** The Posts Picker Query Loop block stores the editor's hand-picked order in its `posts` attribute and builds a `WP_Query` with `post__in`, but never set `orderby`, so `WP_Query` fell back to its default `orderby => date, order => DESC` and re-sorted the results by publish date — discarding the chosen order on the frontend. It now sets `'orderby' => 'post__in'`, so picked posts render in exactly the order the editor arranged them. No consumer migration needed; the `webentor/query_loop_args` filter can still override `orderby` per query. + ## 0.15.2 - **Preserve text alignment on core blocks under WordPress 7.0.** WP 7.0 moved Paragraph's "Align text" control into `supports.typography.textAlign`, which the `disableTypography` filter was wiping by nulling the whole typography object. The filter now keeps `textAlign` and strips only the rest, so Paragraph/Heading keep alignment while native typography stays hidden. No consumer migration needed. diff --git a/packages/webentor-core/composer.json b/packages/webentor-core/composer.json index 40295c7..61b5697 100644 --- a/packages/webentor-core/composer.json +++ b/packages/webentor-core/composer.json @@ -1,6 +1,6 @@ { "name": "webikon/webentor-core", - "version": "0.15.2", + "version": "0.15.3", "license": "MIT", "description": "Webentor Core package", "homepage": "https://webikon.sk", diff --git a/packages/webentor-core/package.json b/packages/webentor-core/package.json index 892f358..f75ca25 100644 --- a/packages/webentor-core/package.json +++ b/packages/webentor-core/package.json @@ -1,7 +1,7 @@ { "name": "@webikon/webentor-core", "homepage": "https://webikon.sk", - "version": "0.15.2", + "version": "0.15.3", "description": "Core functionality and useful utilities for Webentor Stack", "license": "MIT", "author": "Webikon s.r.o.", diff --git a/packages/webentor-core/resources/blocks/e-picker-query-loop/data.php b/packages/webentor-core/resources/blocks/e-picker-query-loop/data.php index e8d7b7e..2879c9f 100644 --- a/packages/webentor-core/resources/blocks/e-picker-query-loop/data.php +++ b/packages/webentor-core/resources/blocks/e-picker-query-loop/data.php @@ -28,6 +28,7 @@ $query_args = [ 'post_type' => $query_attributes['postType'] ?? '', 'post__in' => $post_ids ?: [0], + 'orderby' => 'post__in', // Preserve the manual pick order stored in the block 'post__not_in' => [get_the_ID()], // Ignore current post 'posts_per_page' => count($post_ids), ]; From 0af203f15182e9c326aa0e71b2075116bfedf6f2 Mon Sep 17 00:00:00 2001 From: Pavol Caban Date: Thu, 2 Jul 2026 15:55:13 +0700 Subject: [PATCH 2/2] docs(agents): forbid referencing consumer projects in public repo content This is a public repo. Add an explicit AI Editing Rule: never name a client/consumer project, its domains, or its data in commits, PRs, changelogs, comments, or docs. Describe reported bugs generically. Claude-Session: https://claude.ai/code/session_01EQPEj5hTGqsPPg2JCu456Q --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 4218216..fee7f21 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -220,6 +220,7 @@ Do not introduce additional split mirrors unless explicitly requested. ## AI Editing Rules +- **This is a PUBLIC repository. Never reference client / consumer projects in anything published here.** When a fix originates from a bug reported on a specific consumer site, do NOT name that project, its domains (`*.sk`, `.test`), or any of its data (post titles, people's names, cities, CPT contents) in commit messages, PR titles/bodies, changelogs, code comments, or docs. Describe the bug and its reproduction generically (e.g. "picking three posts in a scrambled order"). Consumer-specific reproduction and verification stay in the consumer project's own private repo/notes. - Prefer minimal, contract-preserving edits. - Preserve comments that explain operational intent, especially in setup scripts. - Do not silently remove troubleshooting paths (1Password, env fallback, platform-specific behavior).