mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 14:20:15 +00:00
Editor: Deprecate _resolve_home_block_template().
The internal Core-only `_resolve_home_block_template()` function was introduced in [53093] for a specific purpose of resolving the template for a site's home page. It was used as part of the Site Editor's redirect when the `postType` and `postId` query args were missing. The server-side handling was removed in [55338]. The function is no longer used in Core. This changeset deprecates the function and removes its tests. Follow-up to [55338], [53093]. Props johnbillion, hellofromTonya. Fixes #57716. git-svn-id: https://develop.svn.wordpress.org/trunk@55436 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -335,35 +335,3 @@ function _resolve_template_for_new_post( $wp_query ) {
|
||||
$wp_query->set( 'post_status', 'auto-draft' );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the correct template for the site's home page.
|
||||
*
|
||||
* @access private
|
||||
* @since 6.0.0
|
||||
*
|
||||
* @return array|null A template object, or null if none could be found.
|
||||
*/
|
||||
function _resolve_home_block_template() {
|
||||
$show_on_front = get_option( 'show_on_front' );
|
||||
$front_page_id = get_option( 'page_on_front' );
|
||||
|
||||
if ( 'page' === $show_on_front && $front_page_id ) {
|
||||
return array(
|
||||
'postType' => 'page',
|
||||
'postId' => $front_page_id,
|
||||
);
|
||||
}
|
||||
|
||||
$hierarchy = array( 'front-page', 'home', 'index' );
|
||||
$template = resolve_block_template( 'home', $hierarchy, '' );
|
||||
|
||||
if ( ! $template ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return array(
|
||||
'postType' => 'wp_template',
|
||||
'postId' => $template->id,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -4591,3 +4591,39 @@ function get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' )
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the correct template for the site's home page.
|
||||
*
|
||||
* @access private
|
||||
* @since 6.0.0
|
||||
* @deprecated 6.2.0 Site Editor's server-side redirect for missing postType and postId
|
||||
* query args is removed. Thus, this function is no longer used.
|
||||
*
|
||||
* @return array|null A template object, or null if none could be found.
|
||||
*/
|
||||
function _resolve_home_block_template() {
|
||||
_deprecated_function( __FUNCTION__, '6.2.0' );
|
||||
|
||||
$show_on_front = get_option( 'show_on_front' );
|
||||
$front_page_id = get_option( 'page_on_front' );
|
||||
|
||||
if ( 'page' === $show_on_front && $front_page_id ) {
|
||||
return array(
|
||||
'postType' => 'page',
|
||||
'postId' => $front_page_id,
|
||||
);
|
||||
}
|
||||
|
||||
$hierarchy = array( 'front-page', 'home', 'index' );
|
||||
$template = resolve_block_template( 'home', $hierarchy, '' );
|
||||
|
||||
if ( ! $template ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return array(
|
||||
'postType' => 'wp_template',
|
||||
'postId' => $template->id,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -188,42 +188,4 @@ class Tests_Block_Template extends WP_UnitTestCase {
|
||||
$resolved_template_path = locate_block_template( '', 'search', array() );
|
||||
$this->assertSame( '', $resolved_template_path );
|
||||
}
|
||||
|
||||
/**
|
||||
* Covers: https://github.com/WordPress/gutenberg/pull/38817.
|
||||
*
|
||||
* @ticket 55505
|
||||
*/
|
||||
public function test_resolve_home_block_template_default_hierarchy() {
|
||||
$template = _resolve_home_block_template();
|
||||
|
||||
$this->assertSame( 'wp_template', $template['postType'] );
|
||||
$this->assertSame( get_stylesheet() . '//index', $template['postId'] );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 55505
|
||||
*/
|
||||
public function test_resolve_home_block_template_static_homepage() {
|
||||
$post_id = self::factory()->post->create( array( 'post_type' => 'page' ) );
|
||||
update_option( 'show_on_front', 'page' );
|
||||
update_option( 'page_on_front', $post_id );
|
||||
|
||||
$template = _resolve_home_block_template();
|
||||
|
||||
$this->assertSame( 'page', $template['postType'] );
|
||||
$this->assertSame( $post_id, $template['postId'] );
|
||||
|
||||
delete_option( 'show_on_front', 'page' );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 55505
|
||||
*/
|
||||
public function test_resolve_home_block_template_no_resolution() {
|
||||
switch_theme( 'stylesheetonly' );
|
||||
$template = _resolve_home_block_template();
|
||||
|
||||
$this->assertNull( $template );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user