Skip to content
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

Moves to the template loader hooks and functions into lib/compat folder #37149

Merged
merged 2 commits into from
Dec 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ function gutenberg_add_template_loader_filters() {
if ( 'embed' === $template_type ) { // Skip 'embed' for now because it is not a regular template type.
continue;
}
add_filter( str_replace( '-', '', $template_type ) . '_template', 'gutenberg_override_query_template', 20, 3 );
add_filter( str_replace( '-', '', $template_type ) . '_template', 'gutenberg_locate_block_template', 20, 3 );
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just aligning function names with Core equivalents

}

// Request to resolve a template.
Expand All @@ -38,7 +38,7 @@ function gutenberg_add_template_loader_filters() {
* @param array $templates A list of template candidates, in descending order of priority.
* @return string The path to the Full Site Editing template canvas file.
*/
function gutenberg_override_query_template( $template, $type, array $templates ) {
function gutenberg_locate_block_template( $template, $type, array $templates ) {
global $_wp_current_template_content;

if ( $template ) {
Expand Down Expand Up @@ -97,11 +97,12 @@ function gutenberg_override_query_template( $template, $type, array $templates )

// Render title tag with content, regardless of whether theme has title-tag support.
remove_action( 'wp_head', '_wp_render_title_tag', 1 ); // Remove conditional title tag rendering...
// Override WP 5.8 title-tag support.
remove_action( 'wp_head', '_block_template_render_title_tag', 1 );
add_action( 'wp_head', 'gutenberg_render_title_tag', 1 ); // ...and make it unconditional.

// This file will be included instead of the theme's template file.
return gutenberg_dir_path() . 'lib/template-canvas.php';
return gutenberg_dir_path() . 'lib/compat/wordpress-5.9/template-canvas.php';
}

/**
Expand All @@ -126,7 +127,7 @@ function gutenberg_resolve_template( $template_type, $template_hierarchy, $fallb
}

$slugs = array_map(
'gutenberg_strip_php_suffix',
'gutenberg_strip_template_file_suffix',
$template_hierarchy
);

Expand Down Expand Up @@ -223,13 +224,6 @@ function gutenberg_get_the_template_html() {
return '<div class="wp-site-blocks">' . $content . '</div>';
}

/**
* Renders the markup for the current template.
*/
function gutenberg_render_the_template() {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that function is useless and I can't find it on Core either. So either we remove it or backport it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@scruffian Is this something that is needed for universal themes? Should this be backported as render_block_template or something in Core?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems to me like this has been obsolete since #28319 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed 👍 I was confusing this with block_template_part which is used in hybrid themes.

echo gutenberg_get_the_template_html(); // phpcs:ignore WordPress.Security.EscapeOutput
}

/**
* Renders a 'viewport' meta tag.
*
Expand All @@ -247,7 +241,7 @@ function gutenberg_viewport_meta_tag() {
* @param string $template_file Template file name.
* @return string Template file name without extension.
*/
function gutenberg_strip_php_suffix( $template_file ) {
function gutenberg_strip_template_file_suffix( $template_file ) {
return preg_replace( '/\.(php|html)$/', '', $template_file );
}

Expand All @@ -274,8 +268,10 @@ function gutenberg_template_render_without_post_block_context( $context ) {

return $context;
}
add_filter( 'render_block_context', 'gutenberg_template_render_without_post_block_context' );

// override WordPress 5.8 filters.
remove_filter( 'render_block_context', '_block_template_render_without_post_block_context' );
add_filter( 'render_block_context', 'gutenberg_template_render_without_post_block_context' );

/**
* Sets the current WP_Query to return auto-draft posts.
Expand Down
2 changes: 1 addition & 1 deletion lib/load.php
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,8 @@ function gutenberg_is_experiment_enabled( $name ) {
require __DIR__ . '/compat/wordpress-5.9/class-wp-theme-json-gutenberg.php';
require __DIR__ . '/compat/wordpress-5.9/class-wp-theme-json-resolver-gutenberg.php';
require __DIR__ . '/full-site-editing/full-site-editing.php';
require __DIR__ . '/full-site-editing/template-loader.php';
require __DIR__ . '/full-site-editing/edit-site-page.php';
require __DIR__ . '/compat/wordpress-5.9/block-template.php';
require __DIR__ . '/compat/wordpress-5.9/wp-theme-get-post-templates.php';
require __DIR__ . '/compat/wordpress-5.9/default-theme-supports.php';
require __DIR__ . '/compat/wordpress-5.9/class-gutenberg-rest-global-styles-controller.php';
Expand Down