Skip to content

Release 2.1.0#30

Merged
firestar300 merged 23 commits into
mainfrom
release/2.1.0
Jun 30, 2026
Merged

Release 2.1.0#30
firestar300 merged 23 commits into
mainfrom
release/2.1.0

Conversation

@firestar300

@firestar300 firestar300 commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Release 2.1.0


Note

Medium Risk
Changes affect front-end FAQ markup/CSS selectors and SEO JSON-LD routing across three plugins; incorrect resolver priority or legacy accordion breakage could impact existing sites until content is re-saved.

Overview
Release 2.1.0 bumps the plugin version and documents the release in a new CHANGELOG.md, with README/readme.txt updated to match.

FAQ JSON-LD no longer assumes Yoast only: PHP is reorganized under PSR-4 (Schema/, Services/, Hooks/) with a Seo_Service_Resolver that registers Yoast, Rank Math, or SEOPress via dedicated service classes and shared FAQ_Schema_Generator. Schema bootstrap moves from legacy includes/hooks/schema.php to Schema_Hooks.php.

On the block side, the FAQ gains a configurable question heading level (h2–h6) (parent context + inspector), inserter example preview, and front-end markup aligned to WordPress block classes (.wp-block-blockparty-faq-*); accordion config in PHP now targets those selectors, with script.js still initializing legacy .faq__* markup. Deprecated save handlers preserve 2.0.x stored HTML; the faq-item editor duplicate wrapper fix is part of this release.

Local dev shifts SEO plugins to Composer (wp-packages repo → .wp-env/plugins/), .wp-env.json mounts all three, npm scripts become env:start / env:stop, and Psalm is removed from composer.json. .gitignore adds composer.lock and .wp-env/plugins/.

Reviewed by Cursor Bugbot for commit 5ebdaf2. Bugbot is set up for automated code reviews on this repo. Configure here.

firestar300 and others added 16 commits February 17, 2026 11:32
Extract shared FAQ schema generation and resolve Yoast or SEOPress at runtime, with both plugins available in wp-env via Composer.
Register a dedicated service using rank_math/json_ld and include the plugin in the local wp-env setup via Composer.
Replace faq__* classes with wp-block-blockparty-faq-* structure, add CSS custom properties, and register deprecated handlers so existing 2.0.x content keeps validating and rendering.
Mirror blockparty-accordion behavior: parent-level control synced to child questions, shown only when accordion mode is enabled.
Clean markup and heading level attribute
Configures Composer to use PSR-4 for the `Blockparty\Faq\` namespace. This involves adding the `autoload` section to `composer.json`, including `vendor/autoload.php`, and renaming class directories (e.g., `schema` to `Schema`) to align with PSR-4 capitalization standards.

This improves class management, code organization, and facilitates future development by adhering to modern PHP practices.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 8cf5c45. Configure here.

Comment thread src/faq/edit.js Outdated
Comment thread includes/Services/Seopress_Seo_Service.php Outdated
Refactors heading level synchronization using `useLayoutEffect` and direct calls. This prevents visual delays and inconsistencies when the parent FAQ block's `isAccordion` or `headingLevel` attributes change in the editor.
Ensures that new FAQ questions are merged with existing ones in the schema data, rather than overwriting them. Normalizes the structure of existing questions and renumbers all combined questions to maintain valid Schema.org position values.
Updates the `useSyncQuestionHeadingLevels` hook to leverage `@wordpress/data`'s
`useSelect` and `useDispatch` for accessing block editor state and actions.

This removes the need to pass the `blockEditor` object as a prop, improving
the hook's encapsulation and aligning with modern WordPress block editor
development patterns.
Updates the `useSyncQuestionHeadingLevels` hook to explicitly select the inner
FAQ question blocks using `useSelect`. By including these blocks in the
`useEffect` dependencies, heading levels are now correctly re-synchronized
when questions are added, removed, or reordered within the FAQ block.
@firestar300 firestar300 merged commit 51b3b12 into main Jun 30, 2026
4 of 6 checks passed
@firestar300 firestar300 deleted the release/2.1.0 branch June 30, 2026 11:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants