@@ -582,7 +583,7 @@ function meta_form( $post = null ) {
$post = get_post( $post );
/**
- * Filter values for the meta key dropdown in the Custom Fields meta box.
+ * Filters values for the meta key dropdown in the Custom Fields meta box.
*
* Returning a non-null value will effectively short-circuit and avoid a
* potentially expensive query against postmeta.
@@ -596,7 +597,7 @@ function meta_form( $post = null ) {
if ( null === $keys ) {
/**
- * Filter the number of custom fields to retrieve for the drop-down
+ * Filters the number of custom fields to retrieve for the drop-down
* in the Custom Fields meta box.
*
* @since 2.1.0
@@ -657,7 +658,7 @@ function meta_form( $post = null ) {
@@ -761,11 +762,13 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
* Print out option HTML elements for the page templates drop-down.
*
* @since 1.5.0
+ * @since 4.7.0 Added the `$post_type` parameter.
*
- * @param string $default Optional. The template file name. Default empty.
+ * @param string $default Optional. The template file name. Default empty.
+ * @param string $post_type Optional. Post type to get templates for. Default 'post'.
*/
-function page_template_dropdown( $default = '' ) {
- $templates = get_page_templates( get_post() );
+function page_template_dropdown( $default = '', $post_type = 'page' ) {
+ $templates = get_page_templates( null, $post_type );
ksort( $templates );
foreach ( array_keys( $templates ) as $template ) {
$selected = selected( $default, $templates[ $template ], false );
@@ -843,7 +846,7 @@ function wp_dropdown_roles( $selected = '' ) {
function wp_import_upload_form( $action ) {
/**
- * Filter the maximum allowed upload size for import files.
+ * Filters the maximum allowed upload size for import files.
*
* @since 2.3.0
*
@@ -1027,8 +1030,16 @@ function do_meta_boxes( $screen, $context, $object ) {
$hidden_class = in_array($box['id'], $hidden) ? ' hide-if-js' : '';
echo '
' . "\n";
if ( 'dashboard_browser_nag' != $box['id'] ) {
+ $widget_title = $box[ 'title' ];
+
+ if ( is_array( $box[ 'args' ] ) && isset( $box[ 'args' ][ '__widget_basename' ] ) ) {
+ $widget_title = $box[ 'args' ][ '__widget_basename' ];
+ // Do not pass this parameter to the user callback function.
+ unset( $box[ 'args' ][ '__widget_basename' ] );
+ }
+
echo '';
}
@@ -1060,12 +1071,11 @@ function do_meta_boxes( $screen, $context, $object ) {
* @param string|array|WP_Screen $screen The screen or screens on which the meta box is shown (such as a
* post type, 'link', or 'comment'). Accepts a single screen ID,
* WP_Screen object, or array of screen IDs.
- * @param string $context Optional. The context within the screen where the boxes
- * should display. Available contexts vary from screen to
- * screen. Post edit screen contexts include 'normal', 'side',
- * and 'advanced'. Comments screen contexts include 'normal'
- * and 'side'. Menus meta boxes (accordion sections) all use
- * the 'side' context. Global default is 'advanced'.
+ * @param string $context The context within the screen where the box is set to display.
+ * Contexts vary from screen to screen. Post edit screen contexts
+ * include 'normal', 'side', and 'advanced'. Comments screen contexts
+ * include 'normal' and 'side'. Menus meta boxes (accordion sections)
+ * all use the 'side' context.
*/
function remove_meta_box( $id, $screen, $context ) {
global $wp_meta_boxes;
@@ -1100,7 +1110,7 @@ function remove_meta_box( $id, $screen, $context ) {
/**
* Meta Box Accordion Template Function
*
- * Largely made up of abstracted code from {@link do_meta_boxes()}, this
+ * Largely made up of abstracted code from do_meta_boxes(), this
* function serves to build meta boxes as list items for display as
* a collapsible accordion.
*
@@ -1197,12 +1207,12 @@ function add_settings_section($id, $title, $callback, $page) {
global $wp_settings_sections;
if ( 'misc' == $page ) {
- _deprecated_argument( __FUNCTION__, '3.0', sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ), 'misc' ) );
+ _deprecated_argument( __FUNCTION__, '3.0.0', sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ), 'misc' ) );
$page = 'general';
}
if ( 'privacy' == $page ) {
- _deprecated_argument( __FUNCTION__, '3.5', sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ), 'privacy' ) );
+ _deprecated_argument( __FUNCTION__, '3.5.0', sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ), 'privacy' ) );
$page = 'reading';
}
@@ -1248,12 +1258,12 @@ function add_settings_field($id, $title, $callback, $page, $section = 'default',
global $wp_settings_fields;
if ( 'misc' == $page ) {
- _deprecated_argument( __FUNCTION__, '3.0', __( 'The miscellaneous options group has been removed. Use another settings group.' ) );
+ _deprecated_argument( __FUNCTION__, '3.0.0', __( 'The miscellaneous options group has been removed. Use another settings group.' ) );
$page = 'general';
}
if ( 'privacy' == $page ) {
- _deprecated_argument( __FUNCTION__, '3.5', __( 'The privacy options group has been removed. Use another settings group.' ) );
+ _deprecated_argument( __FUNCTION__, '3.5.0', __( 'The privacy options group has been removed. Use another settings group.' ) );
$page = 'reading';
}
@@ -1383,7 +1393,8 @@ function add_settings_error( $setting, $code, $message, $type = 'error' ) {
*
* Use the $sanitize argument to manually re-sanitize the option before returning errors.
* This is useful if you have errors or notices you want to show even when the user
- * hasn't submitted data (i.e. when they first load an options page, or in admin_notices action hook)
+ * hasn't submitted data (i.e. when they first load an options page, or in the {@see 'admin_notices'}
+ * action hook).
*
* @since 3.0.0
*
@@ -1428,16 +1439,16 @@ function get_settings_errors( $setting = '', $sanitize = false ) {
}
/**
- * Display settings errors registered by {@see add_settings_error()}.
+ * Display settings errors registered by add_settings_error().
*
* Part of the Settings API. Outputs a div for each error retrieved by
- * {@see get_settings_errors()}.
+ * get_settings_errors().
*
* This is called automatically after a settings page based on the
* Settings API is submitted. Errors should be added during the validation
- * callback function for a setting defined in {@see register_setting()}
+ * callback function for a setting defined in register_setting().
*
- * The $sanitize option is passed into {@see get_settings_errors()} and will
+ * The $sanitize option is passed into get_settings_errors() and will
* re-run the setting sanitization
* on its current value.
*
@@ -1451,7 +1462,8 @@ function get_settings_errors( $setting = '', $sanitize = false ) {
*
* @param string $setting Optional slug title of a specific setting who's errors you want.
* @param bool $sanitize Whether to re-sanitize the setting value before returning errors.
- * @param bool $hide_on_update If set to true errors will not be shown if the settings page has already been submitted.
+ * @param bool $hide_on_update If set to true errors will not be shown if the settings page has
+ * already been submitted.
*/
function settings_errors( $setting = '', $sanitize = false, $hide_on_update = false ) {
@@ -1486,7 +1498,7 @@ function find_posts_div($found_action = '') {
-
+
@@ -1504,7 +1516,7 @@ function find_posts_div($found_action = '') {
-
+
@@ -1512,10 +1524,9 @@ function find_posts_div($found_action = '') {
}
/**
- * Display the post password.
+ * Displays the post password.
*
- * The password is passed through {@link esc_attr()} to ensure that it
- * is safe for placing in an html attribute.
+ * The password is passed through esc_attr() to ensure that it is safe for placing in an html attribute.
*
* @since 2.7.0
*/
@@ -1544,10 +1555,10 @@ function _draft_or_post_title( $post = 0 ) {
}
/**
- * Display the search query.
+ * Displays the search query.
*
- * A simple wrapper to display the "s" parameter in a GET URI. This function
- * should only be used when {@link the_search_query()} cannot.
+ * A simple wrapper to display the "s" parameter in a `GET` URI. This function
+ * should only be used when the_search_query() cannot.
*
* @since 2.7.0
*/
@@ -1614,7 +1625,7 @@ do_action( "admin_head-$hook_suffix" );
/** This action is documented in wp-admin/admin-header.php */
do_action( 'admin_head' );
-$admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
+$admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_user_locale() ) ) );
if ( is_rtl() )
$admin_body_class .= ' rtl';
@@ -1651,11 +1662,19 @@ function iframe_footer() {
* but run the hooks anyway since they output JavaScript
* or other needed content.
*/
- ?>
+
+ /**
+ * @global string $hook_suffix
+ */
+ global $hook_suffix;
+ ?>
ID, '_wp_attachment_is_custom_header', true );
- if ( ! empty( $meta_header ) && $meta_header == $stylesheet )
- $media_states[] = __( 'Header Image' );
+
+ if ( is_random_header_image() ) {
+ $header_images = wp_list_pluck( get_uploaded_header_images(), 'attachment_id' );
+
+ if ( $meta_header == $stylesheet && in_array( $post->ID, $header_images ) ) {
+ $media_states[] = __( 'Header Image' );
+ }
+ } else {
+ $header_image = get_header_image();
+
+ // Display "Header Image" if the image was ever used as a header image
+ if ( ! empty( $meta_header ) && $meta_header == $stylesheet && $header_image !== wp_get_attachment_url( $post->ID ) ) {
+ $media_states[] = __( 'Header Image' );
+ }
+
+ // Display "Current Header Image" if the image is currently the header image
+ if ( $header_image && $header_image == wp_get_attachment_url( $post->ID ) ) {
+ $media_states[] = __( 'Current Header Image' );
+ }
+ }
}
if ( current_theme_supports( 'custom-background') ) {
$meta_background = get_post_meta($post->ID, '_wp_attachment_is_custom_background', true );
- if ( ! empty( $meta_background ) && $meta_background == $stylesheet )
+
+ if ( ! empty( $meta_background ) && $meta_background == $stylesheet ) {
$media_states[] = __( 'Background Image' );
+
+ $background_image = get_background_image();
+ if ( $background_image && $background_image == wp_get_attachment_url( $post->ID ) ) {
+ $media_states[] = __( 'Current Background Image' );
+ }
+ }
}
if ( $post->ID == get_option( 'site_icon' ) ) {
@@ -1755,7 +1799,7 @@ function _media_states( $post ) {
}
/**
- * Filter the default media display states for items in the Media list table.
+ * Filters the default media display states for items in the Media list table.
*
* @since 3.2.0
*
@@ -1898,10 +1942,8 @@ function get_submit_button( $text = '', $type = 'primary large', $name = 'submit
continue;
$classes[] = in_array( $t, $button_shorthand ) ? 'button-' . $t : $t;
}
- $class = implode( ' ', array_unique( $classes ) );
-
- if ( 'delete' === $type )
- $class = 'button-secondary delete';
+ // Remove empty items, remove duplicate items, and finally build a string.
+ $class = implode( ' ', array_unique( array_filter( $classes ) ) );
$text = $text ? $text : __( 'Save Changes' );
@@ -1979,8 +2021,8 @@ function _wp_admin_html_begin() {
* @return WP_Screen Screen object.
*/
function convert_to_screen( $hook_name ) {
- if ( ! class_exists( 'WP_Screen', false ) ) {
- _doing_it_wrong( 'convert_to_screen(), add_meta_box()', __( "Likely direct inclusion of wp-admin/includes/template.php in order to use add_meta_box(). This is very wrong. Hook the add_meta_box() call into the add_meta_boxes action instead." ), '3.3' );
+ if ( ! class_exists( 'WP_Screen' ) ) {
+ _doing_it_wrong( 'convert_to_screen(), add_meta_box()', __( "Likely direct inclusion of wp-admin/includes/template.php in order to use add_meta_box(). This is very wrong. Hook the add_meta_box() call into the add_meta_boxes action instead." ), '3.3.0' );
return (object) array( 'id' => '_invalid', 'base' => '_are_belong_to_us' );
}
@@ -1995,14 +2037,13 @@ function convert_to_screen( $hook_name ) {
*/
function _local_storage_notice() {
?>
-