Embeds: Add support for embeds in the theme template hierarchy.
This allows themes to directly override the default template. The order in which the template is retrieved is as follows: `embed-$post_type-$post_format.php` -> `embed-$post_type.php` -> `embed.php`.
The `embed_template` filter gets replaced by the dynamic `{$type}_template` filter in `get_query_template()`.
Props ChriCo, swissspidy.
See #34561. Fixes #34278.
Built from https://develop.svn.wordpress.org/trunk@36876
git-svn-id: http://core.svn.wordpress.org/trunk@36843 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -39,26 +39,12 @@ elseif ( is_feed() ) :
|
||||
elseif ( is_trackback() ) :
|
||||
include( ABSPATH . 'wp-trackback.php' );
|
||||
return;
|
||||
elseif ( is_embed() ) :
|
||||
$template = ABSPATH . WPINC . '/theme-compat/embed.php';
|
||||
|
||||
/**
|
||||
* Filter the template used for embedded posts.
|
||||
*
|
||||
* @since 4.4.0
|
||||
* @since 4.5.0 The default template path changed to wp-includes/theme-compat/embed.php
|
||||
*
|
||||
* @param string $template Path to the template file.
|
||||
*/
|
||||
$template = apply_filters( 'embed_template', $template );
|
||||
|
||||
include ( $template );
|
||||
return;
|
||||
endif;
|
||||
|
||||
if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :
|
||||
$template = false;
|
||||
if ( is_404() && $template = get_404_template() ) :
|
||||
if ( is_embed() && $template = get_embed_template() ) :
|
||||
elseif ( is_404() && $template = get_404_template() ) :
|
||||
elseif ( is_search() && $template = get_search_template() ) :
|
||||
elseif ( is_front_page() && $template = get_front_page_template() ) :
|
||||
elseif ( is_home() && $template = get_home_template() ) :
|
||||
|
||||
Reference in New Issue
Block a user