Themes: Better names for `WP_Theme::is_block_theme()` and `wp_is_block_theme()` and make `wp_is_block_theme()` a wrapper.
This commit renames the following method and function to better represent block theme terminology: * `WP_Theme::is_block_based()` to `WP_Theme::is_block_theme()` * `wp_is_block_template_theme()` to `wp_is_block_theme()` It also changes `wp_is_block_theme()` to be a helper wrapper (sugar syntax) for `wp_get_theme()->is_block_theme();`. Why? To ensure both the method and function behave the same, to help Gutenberg maintain WordPress cross-version compatibility, and to make it less cumbersome to port changes from Gutenberg to Core. Follow-up to [52069], [52247], [52279]. Props antonvlasenko, costdev, hellofromTonya, noisysocks. Fixes #54550. Built from https://develop.svn.wordpress.org/trunk@52330 git-svn-id: http://core.svn.wordpress.org/trunk@51922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
2e2829904b
commit
f70fb51f99
|
@ -1993,11 +1993,11 @@ function wp_welcome_panel() {
|
|||
$customize_url = null;
|
||||
$can_edit_theme_options = current_user_can( 'edit_theme_options' );
|
||||
$can_customize = current_user_can( 'customize' );
|
||||
$is_block_based_theme = wp_is_block_template_theme();
|
||||
$is_block_theme = wp_is_block_theme();
|
||||
|
||||
if ( $is_block_based_theme && $can_edit_theme_options ) {
|
||||
if ( $is_block_theme && $can_edit_theme_options ) {
|
||||
$customize_url = esc_url( admin_url( 'site-editor.php' ) );
|
||||
} elseif ( ! $is_block_based_theme && $can_customize ) {
|
||||
} elseif ( ! $is_block_theme && $can_customize ) {
|
||||
$customize_url = wp_customize_url();
|
||||
}
|
||||
?>
|
||||
|
@ -2012,7 +2012,7 @@ function wp_welcome_panel() {
|
|||
<?php endif; ?>
|
||||
<a class="button button-primary button-hero hide-if-customize" href="<?php echo esc_url( admin_url( 'themes.php' ) ); ?>"><?php _e( 'Customize Your Site' ); ?></a>
|
||||
<?php if ( current_user_can( 'install_themes' ) || ( current_user_can( 'switch_themes' ) && count( wp_get_themes( array( 'allowed' => true ) ) ) > 1 ) ) : ?>
|
||||
<?php $themes_link = $can_customize && ! $is_block_based_theme ? add_query_arg( 'autofocus[panel]', 'themes', admin_url( 'customize.php' ) ) : admin_url( 'themes.php' ); ?>
|
||||
<?php $themes_link = $can_customize && ! $is_block_theme ? add_query_arg( 'autofocus[panel]', 'themes', admin_url( 'customize.php' ) ) : admin_url( 'themes.php' ); ?>
|
||||
<p class="hide-if-no-customize">
|
||||
<?php
|
||||
/* translators: %s: URL to Themes panel in Customizer or Themes screen. */
|
||||
|
|
|
@ -704,11 +704,11 @@ function wp_prepare_themes_for_js( $themes = null ) {
|
|||
|
||||
$can_edit_theme_options = current_user_can( 'edit_theme_options' );
|
||||
$can_customize = current_user_can( 'customize' );
|
||||
$is_block_based_theme = $theme->is_block_based();
|
||||
$is_block_theme = $theme->is_block_theme();
|
||||
|
||||
if ( $is_block_based_theme && $can_edit_theme_options ) {
|
||||
if ( $is_block_theme && $can_edit_theme_options ) {
|
||||
$customize_action = esc_url( admin_url( 'site-editor.php' ) );
|
||||
} elseif ( ! $is_block_based_theme && $can_customize && $can_edit_theme_options ) {
|
||||
} elseif ( ! $is_block_theme && $can_customize && $can_edit_theme_options ) {
|
||||
$customize_action = esc_url(
|
||||
add_query_arg(
|
||||
array(
|
||||
|
|
|
@ -202,7 +202,7 @@ if ( ! is_multisite() && current_user_can( 'update_themes' ) ) {
|
|||
/* translators: %s: Number of available theme updates. */
|
||||
$submenu['themes.php'][5] = array( sprintf( __( 'Themes %s' ), $count ), $appearance_cap, 'themes.php' );
|
||||
|
||||
if ( wp_is_block_template_theme() ) {
|
||||
if ( wp_is_block_theme() ) {
|
||||
$submenu['themes.php'][6] = array(
|
||||
sprintf(
|
||||
/* translators: %s: "beta" label */
|
||||
|
@ -216,9 +216,9 @@ if ( wp_is_block_template_theme() ) {
|
|||
|
||||
// Hide Customize link on block themes unless a plugin or theme is using
|
||||
// customize_register to add a setting.
|
||||
if ( ! wp_is_block_template_theme() || has_action( 'customize_register' ) ) {
|
||||
if ( ! wp_is_block_theme() || has_action( 'customize_register' ) ) {
|
||||
$customize_url = add_query_arg( 'return', urlencode( remove_query_arg( wp_removable_query_args(), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ), 'customize.php' );
|
||||
$position = wp_is_block_template_theme() ? 7 : 6;
|
||||
$position = wp_is_block_theme() ? 7 : 6;
|
||||
|
||||
$submenu['themes.php'][ $position ] = array( __( 'Customize' ), 'customize', esc_url( $customize_url ), '', 'hide-if-no-customize' );
|
||||
}
|
||||
|
@ -255,7 +255,7 @@ if ( ! is_multisite() ) {
|
|||
*/
|
||||
function _add_themes_utility_last() {
|
||||
add_submenu_page(
|
||||
wp_is_block_template_theme() ? 'tools.php' : 'themes.php',
|
||||
wp_is_block_theme() ? 'tools.php' : 'themes.php',
|
||||
__( 'Theme Editor' ),
|
||||
__( 'Theme Editor' ),
|
||||
'edit_themes',
|
||||
|
|
|
@ -19,7 +19,7 @@ if ( ! current_user_can( 'edit_theme_options' ) ) {
|
|||
);
|
||||
}
|
||||
|
||||
if ( ! wp_is_block_template_theme() ) {
|
||||
if ( ! wp_is_block_theme() ) {
|
||||
wp_die( __( 'The theme you are currently using is not compatible with Full Site Editing.' ) );
|
||||
}
|
||||
|
||||
|
|
|
@ -196,7 +196,7 @@ if ( $file_description !== $file_show ) {
|
|||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ( preg_match( '/\.css$/', $file ) && ! wp_is_block_template_theme() && current_user_can( 'customize' ) ) : ?>
|
||||
<?php if ( preg_match( '/\.css$/', $file ) && ! wp_is_block_theme() && current_user_can( 'customize' ) ) : ?>
|
||||
<div id="message" class="notice-info notice">
|
||||
<p><strong><?php _e( 'Did you know?' ); ?></strong></p>
|
||||
<p>
|
||||
|
|
|
@ -417,7 +417,7 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) {
|
|||
*/
|
||||
function wp_admin_bar_edit_site_menu( $wp_admin_bar ) {
|
||||
// Don't show if a block theme is not activated.
|
||||
if ( ! wp_is_block_template_theme() ) {
|
||||
if ( ! wp_is_block_theme() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -447,7 +447,7 @@ function wp_admin_bar_customize_menu( $wp_admin_bar ) {
|
|||
global $wp_customize;
|
||||
|
||||
// Don't show if a block theme is activated.
|
||||
if ( wp_is_block_template_theme() ) {
|
||||
if ( wp_is_block_theme() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1467,7 +1467,7 @@ final class WP_Theme implements ArrayAccess {
|
|||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function is_block_based() {
|
||||
public function is_block_theme() {
|
||||
$paths_to_index_block_template = array(
|
||||
$this->get_file_path( '/block-templates/index.html' ),
|
||||
$this->get_file_path( '/templates/index.html' ),
|
||||
|
|
|
@ -356,7 +356,7 @@ function create_initial_post_types() {
|
|||
'public' => false,
|
||||
'_builtin' => true, /* internal use only. don't use this when registering your own post type. */
|
||||
'has_archive' => false,
|
||||
'show_ui' => wp_is_block_template_theme(),
|
||||
'show_ui' => wp_is_block_theme(),
|
||||
'show_in_menu' => false,
|
||||
'show_in_rest' => true,
|
||||
'rewrite' => false,
|
||||
|
@ -416,7 +416,7 @@ function create_initial_post_types() {
|
|||
'public' => false,
|
||||
'_builtin' => true, /* internal use only. don't use this when registering your own post type. */
|
||||
'has_archive' => false,
|
||||
'show_ui' => wp_is_block_template_theme(),
|
||||
'show_ui' => wp_is_block_theme(),
|
||||
'show_in_menu' => false,
|
||||
'show_in_rest' => true,
|
||||
'rewrite' => false,
|
||||
|
@ -503,7 +503,7 @@ function create_initial_post_types() {
|
|||
'public' => false,
|
||||
'_builtin' => true, /* internal use only. don't use this when registering your own post type. */
|
||||
'has_archive' => false,
|
||||
'show_ui' => wp_is_block_template_theme(),
|
||||
'show_ui' => wp_is_block_theme(),
|
||||
'show_in_menu' => 'themes.php',
|
||||
'show_in_admin_bar' => false,
|
||||
'show_in_rest' => true,
|
||||
|
|
|
@ -4090,7 +4090,6 @@ function create_initial_theme_features() {
|
|||
*
|
||||
* @return boolean Whether the current theme is a block-based theme or not.
|
||||
*/
|
||||
function wp_is_block_template_theme() {
|
||||
return is_readable( get_theme_file_path( '/block-templates/index.html' ) ) ||
|
||||
is_readable( get_theme_file_path( '/templates/index.html' ) );
|
||||
function wp_is_block_theme() {
|
||||
return wp_get_theme()->is_block_theme();
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '5.9-beta1-52329';
|
||||
$wp_version = '5.9-beta1-52330';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
|
Loading…
Reference in New Issue