wpseek.com
WordPress开发者和主题制作者的搜索引擎
render_block_core_query › WordPress Function
Since6.4.0
已弃用n/a
› render_block_core_query ( $attributes, $content, $block )
参数: (3) |
|
返回: |
|
定义在: |
|
文档: |
Modifies the static `core/query` block on the server.
源码
function render_block_core_query( $attributes, $content, $block ) { if ( $attributes['enhancedPagination'] && isset( $attributes['queryId'] ) ) { $p = new WP_HTML_Tag_Processor( $content ); if ( $p->next_tag() ) { // Add the necessary directives. $p->set_attribute( 'data-wp-interactive', true ); $p->set_attribute( 'data-wp-navigation-id', 'query-' . $attributes['queryId'] ); // Use context to send translated strings. $p->set_attribute( 'data-wp-context', wp_json_encode( array( 'core' => array( 'query' => array( 'loadingText' => __( 'Loading page, please wait.' ), 'loadedText' => __( 'Page Loaded.' ), ), ), ), JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP ) ); $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`. $html_tag = 'div'; if ( ! empty( $attributes['tagName'] ) ) { $html_tag = esc_attr( $attributes['tagName'] ); } $last_tag_position = strripos( $content, '</' . $html_tag . '>' ); $content = substr_replace( $content, '<div class="screen-reader-text" aria-live="polite" data-wp-text="context.core.query.message" ></div> <div class="wp-block-query__enhanced-pagination-animation" data-wp-class--start-animation="selectors.core.query.startAnimation" data-wp-class--finish-animation="selectors.core.query.finishAnimation" ></div>', $last_tag_position, 0 ); } } $view_asset = 'wp-block-query-view'; if ( ! wp_script_is( $view_asset ) ) { $script_handles = $block->block_type->view_script_handles; // If the script is not needed, and it is still in the `view_script_handles`, remove it. if ( ( ! $attributes['enhancedPagination'] || ! isset( $attributes['queryId'] ) ) && in_array( $view_asset, $script_handles, true ) ) { $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_asset ) ); } // If the script is needed, but it was previously removed, add it again. if ( $attributes['enhancedPagination'] && isset( $attributes['queryId'] ) && ! in_array( $view_asset, $script_handles, true ) ) { $block->block_type->view_script_handles = array_merge( $script_handles, array( $view_asset ) ); } } $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. if ( ( ! $attributes['enhancedPagination'] || ! isset( $attributes['queryId'] ) ) && in_array( $style_asset, $style_handles, true ) ) { $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. if ( $attributes['enhancedPagination'] && isset( $attributes['queryId'] ) && ! in_array( $style_asset, $style_handles, true ) ) { $block->block_type->style_handles = array_merge( $style_handles, array( $style_asset ) ); } } return $content; }