mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-03-31 18:54:29 +00:00
Themes: Show templates from both parent and child theme when calling WP_Theme::get_post_templates().
Props birgire for initial patch. Fixes #41717. git-svn-id: https://develop.svn.wordpress.org/trunk@41975 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -122,21 +122,56 @@ class Tests_Admin_includesTheme extends WP_UnitTestCase {
|
||||
switch_theme( $theme['Template'], $theme['Stylesheet'] );
|
||||
|
||||
$this->assertEqualSetsWithIndex( array(
|
||||
'Top Level' => 'template-top-level-post-types.php',
|
||||
'Sub Dir' => 'subdir/template-sub-dir-post-types.php',
|
||||
'Top Level' => 'template-top-level-post-types.php',
|
||||
'Sub Dir' => 'subdir/template-sub-dir-post-types.php',
|
||||
'Top Level In A Child Theme' => 'template-top-level-post-types-child.php',
|
||||
'Sub Dir In A Child Theme' => 'subdir/template-sub-dir-post-types-child.php',
|
||||
), get_page_templates( null, 'foo' ) );
|
||||
|
||||
$this->assertEqualSetsWithIndex( array(
|
||||
'Top Level' => 'template-top-level-post-types.php',
|
||||
'Sub Dir' => 'subdir/template-sub-dir-post-types.php',
|
||||
), get_page_templates( null, 'post' ) );
|
||||
|
||||
$this->assertEqualSetsWithIndex( array(
|
||||
'Top Level' => 'template-top-level.php',
|
||||
'Sub Dir' => 'subdir/template-sub-dir.php',
|
||||
'This Template Header Is On One Line' => 'template-header.php',
|
||||
), get_page_templates() );
|
||||
|
||||
$this->assertEquals( array(), get_page_templates( null, 'bar' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 41717
|
||||
*/
|
||||
public function test_get_post_templates_child_theme() {
|
||||
$theme = wp_get_theme( 'page-templates-child' );
|
||||
$this->assertNotEmpty( $theme );
|
||||
|
||||
switch_theme( $theme['Template'], $theme['Stylesheet'] );
|
||||
|
||||
$post_templates = $theme->get_post_templates();
|
||||
|
||||
$this->assertEqualSetsWithIndex( array(
|
||||
'template-top-level-post-types.php' => 'Top Level',
|
||||
'subdir/template-sub-dir-post-types.php' => 'Sub Dir',
|
||||
'template-top-level-post-types-child.php' => 'Top Level In A Child Theme',
|
||||
'subdir/template-sub-dir-post-types-child.php' => 'Sub Dir In A Child Theme',
|
||||
), $post_templates['foo'] );
|
||||
|
||||
$this->assertEqualSetsWithIndex( array(
|
||||
'template-top-level-post-types.php' => 'Top Level',
|
||||
'subdir/template-sub-dir-post-types.php' => 'Sub Dir',
|
||||
), $post_templates['post'] );
|
||||
|
||||
$this->assertEqualSetsWithIndex( array(
|
||||
'template-top-level.php' => 'Top Level',
|
||||
'subdir/template-sub-dir.php' => 'Sub Dir',
|
||||
'template-header.php' => 'This Template Header Is On One Line',
|
||||
), $post_templates['page'] );
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that the list of theme features pulled from the WordPress.org API returns the expected data structure.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user