2021-05-19 11:09:27 -04:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Server-side rendering of the `core/query` block.
|
|
|
|
*
|
|
|
|
* @package WordPress
|
|
|
|
*/
|
|
|
|
|
2023-09-26 10:23:26 -04:00
|
|
|
/**
|
|
|
|
* Modifies the static `core/query` block on the server.
|
|
|
|
*
|
|
|
|
* @since 6.4.0
|
|
|
|
*
|
Editor: 2nd update of npm packages for 6.4 RC3.
This second update for RC3 includes the following fixes:
* [https://github.com/WordPress/gutenberg/pull/55724 Update label for lightbox editor UI] - string change.
* [https://github.com/WordPress/gutenberg/pull/55720 Query: Require queryId for enhanced pagination to prevent PHP notices] and warnings.
* [https://github.com/WordPress/gutenberg/pull/55714 Query block enhanced pagination: Detect inner plugin blocks during render] - which avoids turning off enhanced pagination in TT4, includes string changes.
* [https://github.com/WordPress/gutenberg/pull/55309 Query Loop block: Reuse existing screen-reader-text CSS class for the enhanced pagination aria-live region].
Follow up to [57034], [56987], [56961], [56849], [56818], [56816].
Props afercia, aristath, artemiosans, czapla, darerodz, glendaviesnz, hellofromTonya, jameskoster, joen, luisherranz, mikachan, ocean90, peterwilsoncc, ramonopoly, rajinsharwar, swissspidy.
Fixes #59411.
Built from https://develop.svn.wordpress.org/trunk@57048
git-svn-id: http://core.svn.wordpress.org/trunk@56559 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-11-01 13:49:17 -04:00
|
|
|
* @param array $attributes Block attributes.
|
|
|
|
* @param string $content Block default content.
|
|
|
|
* @param WP_Block $block The block instance.
|
2023-09-26 10:23:26 -04:00
|
|
|
*
|
|
|
|
* @return string Returns the modified output of the query block.
|
|
|
|
*/
|
|
|
|
function render_block_core_query( $attributes, $content, $block ) {
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
$is_interactive = isset( $attributes['enhancedPagination'] ) && true === $attributes['enhancedPagination'] && isset( $attributes['queryId'] );
|
|
|
|
|
|
|
|
// Enqueue the script module and add the necessary directives if the block is
|
|
|
|
// interactive.
|
|
|
|
if ( $is_interactive ) {
|
|
|
|
wp_enqueue_script_module( '@wordpress/block-library/query' );
|
|
|
|
|
2023-09-26 10:23:26 -04:00
|
|
|
$p = new WP_HTML_Tag_Processor( $content );
|
|
|
|
if ( $p->next_tag() ) {
|
|
|
|
// Add the necessary directives.
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
$p->set_attribute( 'data-wp-interactive', '{"namespace":"core/query"}' );
|
|
|
|
$p->set_attribute( 'data-wp-router-region', 'query-' . $attributes['queryId'] );
|
|
|
|
$p->set_attribute( 'data-wp-init', 'callbacks.setQueryRef' );
|
2023-09-26 10:23:26 -04:00
|
|
|
// Use context to send translated strings.
|
|
|
|
$p->set_attribute(
|
|
|
|
'data-wp-context',
|
|
|
|
wp_json_encode(
|
|
|
|
array(
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
'loadingText' => __( 'Loading page, please wait.' ),
|
|
|
|
'loadedText' => __( 'Page Loaded.' ),
|
2023-10-10 07:30:19 -04:00
|
|
|
),
|
|
|
|
JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP
|
2023-09-26 10:23:26 -04:00
|
|
|
)
|
|
|
|
);
|
|
|
|
$content = $p->get_updated_html();
|
|
|
|
|
|
|
|
// Mark the block as interactive.
|
|
|
|
$block->block_type->supports['interactivity'] = true;
|
|
|
|
|
|
|
|
// Add a div to announce messages using `aria-live`.
|
Editor: update npm packages for 6.4.2.
Package updates with bug fixes related to patterns, Query look interactivity, design tools UI and accessibility.
Props mikachan, jorbin, kebbet, artemiosans, talldanwp, ramonopoly, alexstine, andrewserong, mamaduka, cbravobernal, ajlende, luisherranz.
See #59828.
Built from https://develop.svn.wordpress.org/trunk@57109
git-svn-id: http://core.svn.wordpress.org/trunk@56620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-11-13 19:12:23 -05:00
|
|
|
$html_tag = 'div';
|
|
|
|
if ( ! empty( $attributes['tagName'] ) ) {
|
|
|
|
$html_tag = esc_attr( $attributes['tagName'] );
|
|
|
|
}
|
|
|
|
$last_tag_position = strripos( $content, '</' . $html_tag . '>' );
|
2023-09-26 10:23:26 -04:00
|
|
|
$content = substr_replace(
|
|
|
|
$content,
|
|
|
|
'<div
|
Editor: update npm packages for 6.4.2.
Package updates with bug fixes related to patterns, Query look interactivity, design tools UI and accessibility.
Props mikachan, jorbin, kebbet, artemiosans, talldanwp, ramonopoly, alexstine, andrewserong, mamaduka, cbravobernal, ajlende, luisherranz.
See #59828.
Built from https://develop.svn.wordpress.org/trunk@57109
git-svn-id: http://core.svn.wordpress.org/trunk@56620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-11-13 19:12:23 -05:00
|
|
|
class="screen-reader-text"
|
2023-09-26 10:23:26 -04:00
|
|
|
aria-live="polite"
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
data-wp-text="context.message"
|
2023-09-26 10:23:26 -04:00
|
|
|
></div>
|
|
|
|
<div
|
|
|
|
class="wp-block-query__enhanced-pagination-animation"
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
data-wp-class--start-animation="state.startAnimation"
|
|
|
|
data-wp-class--finish-animation="state.finishAnimation"
|
2023-09-26 10:23:26 -04:00
|
|
|
></div>',
|
Editor: update npm packages for 6.4.2.
Package updates with bug fixes related to patterns, Query look interactivity, design tools UI and accessibility.
Props mikachan, jorbin, kebbet, artemiosans, talldanwp, ramonopoly, alexstine, andrewserong, mamaduka, cbravobernal, ajlende, luisherranz.
See #59828.
Built from https://develop.svn.wordpress.org/trunk@57109
git-svn-id: http://core.svn.wordpress.org/trunk@56620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-11-13 19:12:23 -05:00
|
|
|
$last_tag_position,
|
2023-09-26 10:23:26 -04:00
|
|
|
0
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
// Add the styles to the block type if the block is interactive and remove
|
|
|
|
// them if it's not.
|
2023-09-26 10:23:26 -04:00
|
|
|
$style_asset = 'wp-block-query';
|
|
|
|
if ( ! wp_style_is( $style_asset ) ) {
|
|
|
|
$style_handles = $block->block_type->style_handles;
|
|
|
|
// If the styles are not needed, and they are still in the `style_handles`, remove them.
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
if ( ! $is_interactive && in_array( $style_asset, $style_handles, true ) ) {
|
2023-09-26 10:23:26 -04:00
|
|
|
$block->block_type->style_handles = array_diff( $style_handles, array( $style_asset ) );
|
|
|
|
}
|
|
|
|
// If the styles are needed, but they were previously removed, add them again.
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
if ( $is_interactive && ! in_array( $style_asset, $style_handles, true ) ) {
|
2023-09-26 10:23:26 -04:00
|
|
|
$block->block_type->style_handles = array_merge( $style_handles, array( $style_asset ) );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return $content;
|
|
|
|
}
|
|
|
|
|
2021-05-19 11:09:27 -04:00
|
|
|
/**
|
|
|
|
* Registers the `core/query` block on the server.
|
|
|
|
*/
|
|
|
|
function register_block_core_query() {
|
|
|
|
register_block_type_from_metadata(
|
2023-09-26 10:23:26 -04:00
|
|
|
__DIR__ . '/query',
|
|
|
|
array(
|
|
|
|
'render_callback' => 'render_block_core_query',
|
|
|
|
)
|
2021-05-19 11:09:27 -04:00
|
|
|
);
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
|
|
|
|
wp_register_script_module(
|
|
|
|
'@wordpress/block-library/query',
|
|
|
|
defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ? gutenberg_url( '/build/interactivity/query.min.js' ) : includes_url( 'blocks/query/view.min.js' ),
|
|
|
|
array(
|
|
|
|
array(
|
|
|
|
'id' => '@wordpress/interactivity',
|
|
|
|
'import' => 'static',
|
|
|
|
),
|
|
|
|
array(
|
|
|
|
'id' => '@wordpress/interactivity-router',
|
|
|
|
'import' => 'dynamic',
|
|
|
|
),
|
|
|
|
),
|
|
|
|
defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
|
|
|
|
);
|
2021-05-19 11:09:27 -04:00
|
|
|
}
|
|
|
|
add_action( 'init', 'register_block_core_query' );
|
Editor: 2nd update of npm packages for 6.4 RC3.
This second update for RC3 includes the following fixes:
* [https://github.com/WordPress/gutenberg/pull/55724 Update label for lightbox editor UI] - string change.
* [https://github.com/WordPress/gutenberg/pull/55720 Query: Require queryId for enhanced pagination to prevent PHP notices] and warnings.
* [https://github.com/WordPress/gutenberg/pull/55714 Query block enhanced pagination: Detect inner plugin blocks during render] - which avoids turning off enhanced pagination in TT4, includes string changes.
* [https://github.com/WordPress/gutenberg/pull/55309 Query Loop block: Reuse existing screen-reader-text CSS class for the enhanced pagination aria-live region].
Follow up to [57034], [56987], [56961], [56849], [56818], [56816].
Props afercia, aristath, artemiosans, czapla, darerodz, glendaviesnz, hellofromTonya, jameskoster, joen, luisherranz, mikachan, ocean90, peterwilsoncc, ramonopoly, rajinsharwar, swissspidy.
Fixes #59411.
Built from https://develop.svn.wordpress.org/trunk@57048
git-svn-id: http://core.svn.wordpress.org/trunk@56559 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-11-01 13:49:17 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Traverse the tree of blocks looking for any plugin block (i.e., a block from
|
|
|
|
* an installed plugin) inside a Query block with the enhanced pagination
|
|
|
|
* enabled. If at least one is found, the enhanced pagination is effectively
|
|
|
|
* disabled to prevent any potential incompatibilities.
|
|
|
|
*
|
|
|
|
* @since 6.4.0
|
|
|
|
*
|
|
|
|
* @param array $parsed_block The block being rendered.
|
|
|
|
* @return string Returns the parsed block, unmodified.
|
|
|
|
*/
|
|
|
|
function block_core_query_disable_enhanced_pagination( $parsed_block ) {
|
|
|
|
static $enhanced_query_stack = array();
|
|
|
|
static $dirty_enhanced_queries = array();
|
|
|
|
static $render_query_callback = null;
|
|
|
|
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
$is_interactive = isset( $parsed_block['attrs']['enhancedPagination'] ) && true === $parsed_block['attrs']['enhancedPagination'] && isset( $parsed_block['attrs']['queryId'] );
|
|
|
|
$block_name = $parsed_block['blockName'];
|
Editor: 2nd update of npm packages for 6.4 RC3.
This second update for RC3 includes the following fixes:
* [https://github.com/WordPress/gutenberg/pull/55724 Update label for lightbox editor UI] - string change.
* [https://github.com/WordPress/gutenberg/pull/55720 Query: Require queryId for enhanced pagination to prevent PHP notices] and warnings.
* [https://github.com/WordPress/gutenberg/pull/55714 Query block enhanced pagination: Detect inner plugin blocks during render] - which avoids turning off enhanced pagination in TT4, includes string changes.
* [https://github.com/WordPress/gutenberg/pull/55309 Query Loop block: Reuse existing screen-reader-text CSS class for the enhanced pagination aria-live region].
Follow up to [57034], [56987], [56961], [56849], [56818], [56816].
Props afercia, aristath, artemiosans, czapla, darerodz, glendaviesnz, hellofromTonya, jameskoster, joen, luisherranz, mikachan, ocean90, peterwilsoncc, ramonopoly, rajinsharwar, swissspidy.
Fixes #59411.
Built from https://develop.svn.wordpress.org/trunk@57048
git-svn-id: http://core.svn.wordpress.org/trunk@56559 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-11-01 13:49:17 -04:00
|
|
|
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
if ( 'core/query' === $block_name && $is_interactive ) {
|
Editor: 2nd update of npm packages for 6.4 RC3.
This second update for RC3 includes the following fixes:
* [https://github.com/WordPress/gutenberg/pull/55724 Update label for lightbox editor UI] - string change.
* [https://github.com/WordPress/gutenberg/pull/55720 Query: Require queryId for enhanced pagination to prevent PHP notices] and warnings.
* [https://github.com/WordPress/gutenberg/pull/55714 Query block enhanced pagination: Detect inner plugin blocks during render] - which avoids turning off enhanced pagination in TT4, includes string changes.
* [https://github.com/WordPress/gutenberg/pull/55309 Query Loop block: Reuse existing screen-reader-text CSS class for the enhanced pagination aria-live region].
Follow up to [57034], [56987], [56961], [56849], [56818], [56816].
Props afercia, aristath, artemiosans, czapla, darerodz, glendaviesnz, hellofromTonya, jameskoster, joen, luisherranz, mikachan, ocean90, peterwilsoncc, ramonopoly, rajinsharwar, swissspidy.
Fixes #59411.
Built from https://develop.svn.wordpress.org/trunk@57048
git-svn-id: http://core.svn.wordpress.org/trunk@56559 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-11-01 13:49:17 -04:00
|
|
|
$enhanced_query_stack[] = $parsed_block['attrs']['queryId'];
|
|
|
|
|
|
|
|
if ( ! isset( $render_query_callback ) ) {
|
|
|
|
/**
|
|
|
|
* Filter that disables the enhanced pagination feature during block
|
|
|
|
* rendering when a plugin block has been found inside. It does so
|
|
|
|
* by adding an attribute called `data-wp-navigation-disabled` which
|
|
|
|
* is later handled by the front-end logic.
|
|
|
|
*
|
|
|
|
* @param string $content The block content.
|
|
|
|
* @param array $block The full block, including name and attributes.
|
|
|
|
* @return string Returns the modified output of the query block.
|
|
|
|
*/
|
|
|
|
$render_query_callback = static function ( $content, $block ) use ( &$enhanced_query_stack, &$dirty_enhanced_queries, &$render_query_callback ) {
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
$is_interactive = isset( $block['attrs']['enhancedPagination'] ) && true === $block['attrs']['enhancedPagination'] && isset( $block['attrs']['queryId'] );
|
Editor: 2nd update of npm packages for 6.4 RC3.
This second update for RC3 includes the following fixes:
* [https://github.com/WordPress/gutenberg/pull/55724 Update label for lightbox editor UI] - string change.
* [https://github.com/WordPress/gutenberg/pull/55720 Query: Require queryId for enhanced pagination to prevent PHP notices] and warnings.
* [https://github.com/WordPress/gutenberg/pull/55714 Query block enhanced pagination: Detect inner plugin blocks during render] - which avoids turning off enhanced pagination in TT4, includes string changes.
* [https://github.com/WordPress/gutenberg/pull/55309 Query Loop block: Reuse existing screen-reader-text CSS class for the enhanced pagination aria-live region].
Follow up to [57034], [56987], [56961], [56849], [56818], [56816].
Props afercia, aristath, artemiosans, czapla, darerodz, glendaviesnz, hellofromTonya, jameskoster, joen, luisherranz, mikachan, ocean90, peterwilsoncc, ramonopoly, rajinsharwar, swissspidy.
Fixes #59411.
Built from https://develop.svn.wordpress.org/trunk@57048
git-svn-id: http://core.svn.wordpress.org/trunk@56559 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-11-01 13:49:17 -04:00
|
|
|
|
Editor: Update the WordPress packages to the Gutenberg 16.7 RC2 version.
This patch, somewhat small brings a lot to WordPress.
This includes features like:
- DataViews.
- Customization tools like box shadow, background size and repeat.
- UI improvements in the site editor.
- Preferences sharing between the post and site editors.
- Unified panels and editors between post and site editors.
- Improved template mode in the post editor.
- Iterations to multiple interactive blocks.
- Preparing the blocks and UI for pattern overrides.
- and a lot more.
Props luisherranz, gziolo, isabel_brison, costdev, jonsurrell, peterwilsoncc, get_dave, antonvlasenko, desrosj.
See #60315.
Built from https://develop.svn.wordpress.org/trunk@57377
git-svn-id: http://core.svn.wordpress.org/trunk@56883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-01-29 16:07:12 -05:00
|
|
|
if ( ! $is_interactive ) {
|
Editor: 2nd update of npm packages for 6.4 RC3.
This second update for RC3 includes the following fixes:
* [https://github.com/WordPress/gutenberg/pull/55724 Update label for lightbox editor UI] - string change.
* [https://github.com/WordPress/gutenberg/pull/55720 Query: Require queryId for enhanced pagination to prevent PHP notices] and warnings.
* [https://github.com/WordPress/gutenberg/pull/55714 Query block enhanced pagination: Detect inner plugin blocks during render] - which avoids turning off enhanced pagination in TT4, includes string changes.
* [https://github.com/WordPress/gutenberg/pull/55309 Query Loop block: Reuse existing screen-reader-text CSS class for the enhanced pagination aria-live region].
Follow up to [57034], [56987], [56961], [56849], [56818], [56816].
Props afercia, aristath, artemiosans, czapla, darerodz, glendaviesnz, hellofromTonya, jameskoster, joen, luisherranz, mikachan, ocean90, peterwilsoncc, ramonopoly, rajinsharwar, swissspidy.
Fixes #59411.
Built from https://develop.svn.wordpress.org/trunk@57048
git-svn-id: http://core.svn.wordpress.org/trunk@56559 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-11-01 13:49:17 -04:00
|
|
|
return $content;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ( isset( $dirty_enhanced_queries[ $block['attrs']['queryId'] ] ) ) {
|
|
|
|
$p = new WP_HTML_Tag_Processor( $content );
|
|
|
|
if ( $p->next_tag() ) {
|
|
|
|
$p->set_attribute( 'data-wp-navigation-disabled', 'true' );
|
|
|
|
}
|
|
|
|
$content = $p->get_updated_html();
|
|
|
|
$dirty_enhanced_queries[ $block['attrs']['queryId'] ] = null;
|
|
|
|
}
|
|
|
|
|
|
|
|
array_pop( $enhanced_query_stack );
|
|
|
|
|
|
|
|
if ( empty( $enhanced_query_stack ) ) {
|
|
|
|
remove_filter( 'render_block_core/query', $render_query_callback );
|
|
|
|
$render_query_callback = null;
|
|
|
|
}
|
|
|
|
|
|
|
|
return $content;
|
|
|
|
};
|
|
|
|
|
|
|
|
add_filter( 'render_block_core/query', $render_query_callback, 10, 2 );
|
|
|
|
}
|
|
|
|
} elseif (
|
|
|
|
! empty( $enhanced_query_stack ) &&
|
|
|
|
isset( $block_name ) &&
|
|
|
|
( ! str_starts_with( $block_name, 'core/' ) || 'core/post-content' === $block_name )
|
|
|
|
) {
|
|
|
|
foreach ( $enhanced_query_stack as $query_id ) {
|
|
|
|
$dirty_enhanced_queries[ $query_id ] = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return $parsed_block;
|
|
|
|
}
|
|
|
|
|
|
|
|
add_filter( 'render_block_data', 'block_core_query_disable_enhanced_pagination', 10, 1 );
|