-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Block Editor: Enqueue script modules via enqueue_block_assets action #10597
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: trunk
Are you sure you want to change the base?
Block Editor: Enqueue script modules via enqueue_block_assets action #10597
Conversation
Test using WordPress PlaygroundThe changes in this pull request can previewed and tested using a WordPress Playground instance. WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser. Some things to be aware of
For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation. |
src/wp-includes/block-editor.php
Outdated
| 'scripts' => $scripts, | ||
| 'styles' => $styles, | ||
| 'scripts' => $scripts, | ||
| 'script_modules' => $script_modules, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Script modules print the script tags, but also print HTML for the @wordpress/a11y module if it's enqueued. That probably needs to be injected into the editor as well?
wordpress-develop/src/wp-includes/class-wp-script-modules.php
Lines 937 to 951 in 63b3a8f
| /** | |
| * @access private This is only intended to be called by the registered actions. | |
| * | |
| * @since 6.7.0 | |
| */ | |
| public function print_a11y_script_module_html() { | |
| if ( ! $this->a11y_available ) { | |
| return; | |
| } | |
| echo '<div style="position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);border:0;word-wrap:normal !important;">' | |
| . '<p id="a11y-speak-intro-text" class="a11y-speak-intro-text" hidden>' . esc_html__( 'Notifications' ) . '</p>' | |
| . '<div id="a11y-speak-assertive" class="a11y-speak-region" aria-live="assertive" aria-relevant="additions text" aria-atomic="true"></div>' | |
| . '<div id="a11y-speak-polite" class="a11y-speak-region" aria-live="polite" aria-relevant="additions text" aria-atomic="true"></div>' | |
| . '</div>'; | |
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since print_a11y_script_module_html runs at wp_footer, yes, it seems this will need to be captured separately above with more output buffering.
The very selective nature of picking and choosing what gets captured to be injected into the editor iframe, however, gives me pause about how well the editor will replicate the frontend in which themes and plugins could be adding other arbitrary markup to wp_head and wp_footer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. A specific action for the editor iframe analogous to wp_head to capture arbitrary HTML for inclusion may be best here. Then this would just run the action instead if calling select methods.
Co-authored-by: Weston Ruter <westonruter@gmail.com>
This value is set and accessed in the printing flow and should be reset
The editor package prints styles and scripts sequentially. Provide HTML as styles to ensure its printed in legacy editor packages.
17136e4 to
28305f9
Compare
Trac ticket: https://core.trac.wordpress.org/ticket/64360
Requires Gutenberg changes to the block editor. See WordPress/gutenberg#73765.
This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.