Themes: Introduces block-based template parts for Classic themes.

Allows Classic / Hybrid themes to use block-based template parts without using complete block-based templates.

* Exposes the Site Editor's template parts UI
* Adds Appearance > "Template Parts" menu
* Enabled within the theme via adding a theme support for `'block-template-parts'`
{{{#!php
add_theme_support( 'block-template-parts' );
}}}

This is a backport from Gutenberg.[https://github.com/WordPress/gutenberg/pull/42729 See WordPress/gutenberg PR 42729].

Follow-up to [52330], [52069], [52178].

Props mamaduka, fabiankaegy, poena, scruffian, manfcarlo, bernhard-reiter, hellofromTonya.
See #56467.

git-svn-id: https://develop.svn.wordpress.org/trunk@54176 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Tonya Mork
2022-09-15 12:18:30 +00:00
parent b98a8bbbd4
commit 98cfa29f8d
5 changed files with 41 additions and 10 deletions
@@ -388,6 +388,7 @@ class WP_Test_REST_Themes_Controller extends WP_Test_REST_Controller_Testcase {
$this->assertArrayHasKey( 'align-wide', $theme_supports );
$this->assertArrayHasKey( 'automatic-feed-links', $theme_supports );
$this->assertArrayHasKey( 'block-templates', $theme_supports );
$this->assertArrayHasKey( 'block-template-parts', $theme_supports, "Theme supports should have 'block-template-parts' key" );
$this->assertArrayHasKey( 'custom-header', $theme_supports );
$this->assertArrayHasKey( 'custom-background', $theme_supports );
$this->assertArrayHasKey( 'custom-logo', $theme_supports );
@@ -407,7 +408,7 @@ class WP_Test_REST_Themes_Controller extends WP_Test_REST_Controller_Testcase {
$this->assertArrayHasKey( 'responsive-embeds', $theme_supports );
$this->assertArrayHasKey( 'title-tag', $theme_supports );
$this->assertArrayHasKey( 'wp-block-styles', $theme_supports );
$this->assertCount( 22, $theme_supports );
$this->assertCount( 23, $theme_supports, 'There should be 23 theme supports' );
}
/**