Make WordPress Core


Ignore:
Timestamp:
09/15/2022 11:39:43 AM (22 months ago)
Author:
audrasjb
Message:

Editor: Backport build_query_vars_from_query_block changes from Gutenberg repository.

This changeset backports changes from the following Gutenberg pull requests:

Props ntsekouras, bernhard-reiter.
See #56467.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/blocks.php

    r54155 r54175  
    11901190 *
    11911191 * @since 5.8.0
     1192 * @since 6.1.0 Added `query_loop_block_query_vars` filter and `parents` support in query.
    11921193 *
    11931194 * @param WP_Block $block Block instance.
     
    12901291            $query['s'] = $block->context['query']['search'];
    12911292        }
    1292     }
    1293     return $query;
     1293        if ( ! empty( $block->context['query']['parents'] ) && is_post_type_hierarchical( $query['post_type'] ) ) {
     1294            $query['post_parent__in'] = array_filter( array_map( 'intval', $block->context['query']['parents'] ) );
     1295        }
     1296    }
     1297
     1298    /**
     1299     * Filters the arguments which will be passed to `WP_Query` for the Query Loop Block.
     1300     *
     1301     * Anything to this filter should be compatible with the `WP_Query` API to form
     1302     * the query context which will be passed down to the Query Loop Block's children.
     1303     * This can help, for example, to include additional settings or meta queries not
     1304     * directly supported by the core Query Loop Block, and extend its capabilities.
     1305     *
     1306     * Please note that this will only influence the query that will be rendered on the
     1307     * front-end. The editor preview is not affected by this filter. Also, worth noting
     1308     * that the editor preview uses the REST API, so, ideally, one should aim to provide
     1309     * attributes which are also compatible with the REST API, in order to be able to
     1310     * implement identical queries on both sides.
     1311     *
     1312     * @since 6.1.0
     1313     *
     1314     * @param array    $query Array containing parameters for `WP_Query` as parsed by the block context.
     1315     * @param WP_Block $block Block instance.
     1316     * @param int      $page  Current query's page.
     1317     */
     1318    return apply_filters( 'query_loop_block_query_vars', $query, $block, $page );
    12941319}
    12951320
Note: See TracChangeset for help on using the changeset viewer.