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). 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), ];