wpseek.com
Bazujące na WordPress narzędzie wyszukiwania dla deweloperów i twórców motywów.
make_after_block_visitor is private and should not be used in themes or plugins directly.
make_after_block_visitor › WordPress Function
Od6.4.0
Przestarzałyn/a
› make_after_block_visitor ( $hooked_blocks, $context )
Dostęp: |
|
Parametry: (2) |
|
Powrót: |
|
Zdefiniowane na: |
|
Codex: |
Returns a function that injects the hooked blocks after a given block.
The returned function can be used as$post_callback
argument to traverse_and_serialize_block(s)
,
where it will append the markup for any blocks hooked after
the given block and as its parent's
last_child
, respectively.Źródło
function make_after_block_visitor( $hooked_blocks, $context ) { /** * Injects hooked blocks after the given block, and returns the serialized markup. * * Append the markup for any blocks hooked `after` the given block and as its parent's * `last_child`, respectively, to the serialized markup for the given block. * * @param array $block The block to inject the hooked blocks after. Passed by reference. * @param array $parent_block The parent block of the given block. Passed by reference. Default null. * @param array $next The next sibling block of the given block. Default null. * @return string The serialized markup for the given block, with the markup for any hooked blocks appended to it. */ return function ( &$block, &$parent_block = null, $next = null ) use ( $hooked_blocks, $context ) { $markup = ''; $relative_position = 'after'; $anchor_block_type = $block['blockName']; $hooked_block_types = isset( $hooked_blocks[ $anchor_block_type ][ $relative_position ] ) ? $hooked_blocks[ $anchor_block_type ][ $relative_position ] : array(); /** This filter is documented in wp-includes/blocks.php */ $hooked_block_types = apply_filters( 'hooked_block_types', $hooked_block_types, $relative_position, $anchor_block_type, $context ); foreach ( $hooked_block_types as $hooked_block_type ) { $markup .= get_comment_delimited_block_content( $hooked_block_type, array(), '' ); } if ( $parent_block && ! $next ) { // Candidate for last-child insertion. $relative_position = 'last_child'; $anchor_block_type = $parent_block['blockName']; $hooked_block_types = isset( $hooked_blocks[ $anchor_block_type ][ $relative_position ] ) ? $hooked_blocks[ $anchor_block_type ][ $relative_position ] : array(); /** This filter is documented in wp-includes/blocks.php */ $hooked_block_types = apply_filters( 'hooked_block_types', $hooked_block_types, $relative_position, $anchor_block_type, $context ); foreach ( $hooked_block_types as $hooked_block_type ) { $markup .= get_comment_delimited_block_content( $hooked_block_type, array(), '' ); } } return $markup; }; }