Display the post format UI when there is structured data associated with the post regardless of the screen option.
Props kovshenin see #24327 git-svn-id: http://core.svn.wordpress.org/trunk@24282 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
4b6fbf29fc
commit
5b7e9c8a1c
|
@ -107,6 +107,23 @@ if ( isset( $post ) && is_a( $post, 'WP_Post' ) && post_type_supports( get_post_
|
||||||
$show_post_format_ui = (bool) $post_format_user_option;
|
$show_post_format_ui = (bool) $post_format_user_option;
|
||||||
else
|
else
|
||||||
$show_post_format_ui = current_theme_supports( 'post-formats' ) || (bool) get_terms( 'post_format', array( 'number' => 1 ) );
|
$show_post_format_ui = current_theme_supports( 'post-formats' ) || (bool) get_terms( 'post_format', array( 'number' => 1 ) );
|
||||||
|
|
||||||
|
if ( ! $show_post_format_ui ) {
|
||||||
|
$meta = get_post_format_meta( $post->ID );
|
||||||
|
$format_meta_keys = array(
|
||||||
|
'link' => array( 'linkurl' ),
|
||||||
|
'image' => array( 'url', 'image' ),
|
||||||
|
'quote' => array( 'quote_source_name', 'quote_source_url' ),
|
||||||
|
'video' => array( 'video_embed' ),
|
||||||
|
'audio' => array( 'audio_embed' ),
|
||||||
|
);
|
||||||
|
|
||||||
|
// If there's any structured post format data, enforce the UI display.
|
||||||
|
$format_meta_keys = isset( $format_meta_keys[ get_post_format() ] ) ? $format_meta_keys[ get_post_format() ] : array();
|
||||||
|
foreach ( $format_meta_keys as $key )
|
||||||
|
if ( ! empty( $meta[ $key ] ) )
|
||||||
|
$show_post_format_ui = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $show_post_format_ui )
|
if ( $show_post_format_ui )
|
||||||
|
|
|
@ -936,6 +936,7 @@ final class WP_Screen {
|
||||||
|
|
||||||
$columns = get_column_headers( $this );
|
$columns = get_column_headers( $this );
|
||||||
$hidden = get_hidden_columns( $this );
|
$hidden = get_hidden_columns( $this );
|
||||||
|
$post = get_post();
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div id="screen-options-wrap" class="hidden" tabindex="-1" aria-label="<?php esc_attr_e('Screen Options Tab'); ?>">
|
<div id="screen-options-wrap" class="hidden" tabindex="-1" aria-label="<?php esc_attr_e('Screen Options Tab'); ?>">
|
||||||
|
@ -962,15 +963,33 @@ final class WP_Screen {
|
||||||
echo '<label for="wp_welcome_panel-hide">';
|
echo '<label for="wp_welcome_panel-hide">';
|
||||||
echo '<input type="checkbox" id="wp_welcome_panel-hide"' . checked( (bool) $welcome_checked, true, false ) . ' />';
|
echo '<input type="checkbox" id="wp_welcome_panel-hide"' . checked( (bool) $welcome_checked, true, false ) . ' />';
|
||||||
echo _x( 'Welcome', 'Welcome panel' ) . "</label>\n";
|
echo _x( 'Welcome', 'Welcome panel' ) . "</label>\n";
|
||||||
} elseif ( 'post' == $this->base && post_type_supports( $this->post_type, 'post-formats' ) && apply_filters( 'enable_post_format_ui', true, $GLOBALS['post'] ) ) {
|
} elseif ( 'post' == $this->base && post_type_supports( $this->post_type, 'post-formats' ) && apply_filters( 'enable_post_format_ui', true, $post ) ) {
|
||||||
$user_wants = get_user_option( 'post_formats_' . $this->post_type );
|
|
||||||
if ( false !== $user_wants ) {
|
// If the user has explicitly set a screen option, use it, otherwise the UI is shown
|
||||||
// User wants what user gets.
|
// when the theme supports formats, or if the site has formats assigned to posts.
|
||||||
$show_post_format_ui = (bool) $user_wants;
|
$post_format_user_option = get_user_option( 'post_formats_' . $post->post_type );
|
||||||
} else {
|
if ( false !== $post_format_user_option )
|
||||||
// UI is shown when the theme supports formats, or if the site has formats assigned to posts.
|
$show_post_format_ui = (bool) $post_format_user_option;
|
||||||
$show_post_format_ui = current_theme_supports( 'post-formats' ) || get_terms( 'post_format', array( 'number' => 1 ) );
|
else
|
||||||
|
$show_post_format_ui = current_theme_supports( 'post-formats' ) || (bool) get_terms( 'post_format', array( 'number' => 1 ) );
|
||||||
|
|
||||||
|
if ( ! $show_post_format_ui && 'auto-draft' != $post->post_status ) {
|
||||||
|
$meta = get_post_format_meta( $post->ID );
|
||||||
|
$format_meta_keys = array(
|
||||||
|
'link' => array( 'linkurl' ),
|
||||||
|
'image' => array( 'url', 'image' ),
|
||||||
|
'quote' => array( 'quote_source_name', 'quote_source_url' ),
|
||||||
|
'video' => array( 'video_embed' ),
|
||||||
|
'audio' => array( 'audio_embed' ),
|
||||||
|
);
|
||||||
|
|
||||||
|
// If there's any structured post format data, enforce the UI display.
|
||||||
|
$format_meta_keys = isset( $format_meta_keys[ get_post_format() ] ) ? $format_meta_keys[ get_post_format() ] : array();
|
||||||
|
foreach ( $format_meta_keys as $key )
|
||||||
|
if ( ! empty( $meta[ $key ] ) )
|
||||||
|
$show_post_format_ui = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '<label for="show_post_format_ui">';
|
echo '<label for="show_post_format_ui">';
|
||||||
echo '<input type="checkbox" id="show_post_format_ui"' . checked( $show_post_format_ui, true, false ) . ' />';
|
echo '<input type="checkbox" id="show_post_format_ui"' . checked( $show_post_format_ui, true, false ) . ' />';
|
||||||
echo __( 'Post Formats' ) . "</label>\n";
|
echo __( 'Post Formats' ) . "</label>\n";
|
||||||
|
|
Loading…
Reference in New Issue