Conversation
Adds the standard WordPress `screen-reader-text` class alongside `sr-only` to ensure the close button label is correctly hidden visually while remaining accessible to screen readers when the "display icon only" option is active.
Adds a PHP step to the blueprint that automatically creates a sample page showcasing the Blockparty Modal block. Updates the landing page configuration to direct users to the editor for this newly created post instead of a blank new post.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
| }, | ||
| { | ||
| "step": "runPHP", | ||
| "code": "<?php require_once 'wordpress/wp-load.php'; $page_content = '<?php require_once 'wordpress/wp-load.php'; $page_content = '<!-- wp:buttons -->\n<div class=\"wp-block-buttons\"><!-- wp:button {\"linkedModalId\":\"m-e16de3fe79f9\"} -->\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">Open my modal window</a></div>\n<!-- /wp:button --></div>\n<!-- /wp:buttons -->\n\n<!-- wp:blockparty/modal {\"title\":\"My Modal\",\"modalId\":\"m-e16de3fe79f9\",\"displayIconOnly\":true,\"style\":{\"spacing\":{\"padding\":{\"top\":\"var:preset|spacing|40\",\"bottom\":\"var:preset|spacing|40\",\"left\":\"var:preset|spacing|40\",\"right\":\"var:preset|spacing|40\"}}}} -->\n<dialog class=\"wp-block-blockparty-modal\" style=\"padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\" id=\"modal-m-e16de3fe79f9\" aria-modal=\"true\" closedby=\"any\"><div class=\"wp-block-blockparty-modal__header\"><h2 class=\"wp-block-blockparty-modal__title\">My Modal</h2></div><div class=\"wp-block-blockparty-modal__content\"><!-- wp:paragraph -->\n<p>Blockparty Modal is a WordPress plugin that lets you add accessible modal dialogs to your content via the Gutenberg block editor. You define the modal content and behaviour in the editor; on the frontend, the modal is shown when the user activates a linked trigger (such as a button block).</p>\n<!-- /wp:paragraph --></div><button type=\"button\" class=\"wp-block-blockparty-modal__close-button\"><span class=\"sr-only\">Close this dialog window</span><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\"><path d=\"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z\"></path></svg></button></dialog>\n<!-- /wp:blockparty/modal -->'; $page_id = wp_insert_post(array('post_title' => 'Blockparty Modal', 'post_content' => $page_content, 'post_status' => 'publish', 'post_type' => 'page')); echo 'Page created with ID: ' . $page_id; ?>'; $page_id = wp_insert_post(array('post_title' => 'Blockparty Modal', 'post_content' => $page_content, 'post_status' => 'publish', 'post_type' => 'page')); echo 'Page created with ID: ' . $page_id; ?>" |
There was a problem hiding this comment.
Duplicated PHP code causes blueprint syntax error
High Severity
The runPHP code value contains the entire PHP script duplicated and nested inside itself. The string starts with <?php require_once 'wordpress/wp-load.php'; $page_content = '<?php require_once 'wordpress/wp-load.php'; $page_content = '.... PHP will terminate the single-quoted $page_content string at the inner 'wordpress quote, causing a parse error. The intended code (a single require_once, one $page_content assignment, and one wp_insert_post call) appears twice, with the outer copy wrapping the inner one. The runPHP step will fail, the page won't be created, and the landingPage pointing to post=4 will likely 404 or open the wrong post.
Ensures existing block content remains valid by providing a fallback for the markup used before the `screen-reader-text` class was added to the close button label.


blueprint.jsonto test the plugin on WordPress Playground.screen-reader-textclass to close button element when display icon only is selected.Note
Low Risk
Low risk: changes are limited to editor/save markup class names for accessibility and adds a Gutenberg
deprecatedsave to avoid invalidating existing content, plus a WordPress Playground testing blueprint.Overview
Adds a WordPress Playground
blueprint.json(and README badge) to quickly spin up WP, install/activate the plugin, and preload an example page for testing.Updates the modal block’s close-button label span to include
screen-reader-textwhendisplayIconOnlyis enabled, and registers a newdeprecatedblock save (deprecated.jswired inindex.js) to preserve validation for content saved with the previous markup.Written by Cursor Bugbot for commit 7113d85. This will update automatically on new commits. Configure here.