Docs: Improve comments in some wp-admin files per the documentation standards.

Props passoniate.
Fixes #49215, #49216.
Built from https://develop.svn.wordpress.org/trunk@47084


git-svn-id: http://core.svn.wordpress.org/trunk@46884 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2020-01-18 00:54:04 +00:00
parent 1cfc32af58
commit 053a9cd5b8
11 changed files with 168 additions and 137 deletions

View File

@ -165,7 +165,7 @@ function get_pending_comments_num( $post_id ) {
$pending_keyed = array();
// Default to zero pending for all posts in request
// Default to zero pending for all posts in request.
foreach ( $post_id_array as $id ) {
$pending_keyed[ $id ] = 0;
}

View File

@ -56,7 +56,7 @@ function wp_dashboard_setup() {
wp_add_dashboard_widget( 'dashboard_site_health', __( 'Site Health Status' ), 'wp_dashboard_site_health' );
}
// Right Now
// Right Now.
if ( is_blog_admin() && current_user_can( 'edit_posts' ) ) {
wp_add_dashboard_widget( 'dashboard_right_now', __( 'At a Glance' ), 'wp_dashboard_right_now' );
}
@ -65,18 +65,18 @@ function wp_dashboard_setup() {
wp_add_dashboard_widget( 'network_dashboard_right_now', __( 'Right Now' ), 'wp_network_dashboard_right_now' );
}
// Activity Widget
// Activity Widget.
if ( is_blog_admin() ) {
wp_add_dashboard_widget( 'dashboard_activity', __( 'Activity' ), 'wp_dashboard_site_activity' );
}
// QuickPress Widget
// QuickPress Widget.
if ( is_blog_admin() && current_user_can( get_post_type_object( 'post' )->cap->create_posts ) ) {
$quick_draft_title = sprintf( '<span class="hide-if-no-js">%1$s</span> <span class="hide-if-js">%2$s</span>', __( 'Quick Draft' ), __( 'Your Recent Drafts' ) );
wp_add_dashboard_widget( 'dashboard_quick_press', $quick_draft_title, 'wp_dashboard_quick_press' );
}
// WordPress Events and News
// WordPress Events and News.
wp_add_dashboard_widget( 'dashboard_primary', __( 'WordPress Events and News' ), 'wp_dashboard_events_news' );
if ( is_network_admin() ) {
@ -139,7 +139,7 @@ function wp_dashboard_setup() {
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset( $_POST['widget_id'] ) ) {
check_admin_referer( 'edit-dashboard-widget_' . $_POST['widget_id'], 'dashboard-widget-nonce' );
ob_start(); // hack - but the same hack wp-admin/widgets.php uses
ob_start(); // Hack - but the same hack wp-admin/widgets.php uses.
wp_dashboard_trigger_widget_control( $_POST['widget_id'] );
ob_end_clean();
wp_redirect( remove_query_arg( 'edit' ) );
@ -278,7 +278,7 @@ function wp_dashboard_right_now() {
<div class="main">
<ul>
<?php
// Posts and Pages
// Posts and Pages.
foreach ( array( 'post', 'page' ) as $post_type ) {
$num_posts = wp_count_posts( $post_type );
if ( $num_posts && $num_posts->publish ) {
@ -298,7 +298,7 @@ function wp_dashboard_right_now() {
}
}
}
// Comments
// Comments.
$num_comm = wp_count_comments();
if ( $num_comm && ( $num_comm->approved || $num_comm->moderated ) ) {
/* translators: %s: Number of comments. */
@ -506,21 +506,21 @@ function wp_dashboard_quick_press( $error_msg = false ) {
}
/* Check if a new auto-draft (= no new post_ID) is needed or if the old can be used */
$last_post_id = (int) get_user_option( 'dashboard_quick_press_last_post_id' ); // Get the last post_ID
$last_post_id = (int) get_user_option( 'dashboard_quick_press_last_post_id' ); // Get the last post_ID.
if ( $last_post_id ) {
$post = get_post( $last_post_id );
if ( empty( $post ) || $post->post_status != 'auto-draft' ) { // auto-draft doesn't exists anymore
if ( empty( $post ) || $post->post_status != 'auto-draft' ) { // auto-draft doesn't exists anymore.
$post = get_default_post_to_edit( 'post', true );
update_user_option( get_current_user_id(), 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID
update_user_option( get_current_user_id(), 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID.
} else {
$post->post_title = ''; // Remove the auto draft title
$post->post_title = ''; // Remove the auto draft title.
}
} else {
$post = get_default_post_to_edit( 'post', true );
$user_id = get_current_user_id();
// Don't create an option if this is a super admin who does not belong to this site.
if ( in_array( get_current_blog_id(), array_keys( get_blogs_of_user( $user_id ) ) ) ) {
update_user_option( $user_id, 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID
update_user_option( $user_id, 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID.
}
}
@ -760,7 +760,7 @@ function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
++$i;
( ( ( 'approve' == $action || 'unapprove' == $action ) && 2 === $i ) || 1 === $i ) ? $sep = '' : $sep = ' | ';
// Reply and quickedit need a hide-if-no-js span
// Reply and quickedit need a hide-if-no-js span.
if ( 'reply' == $action || 'quickedit' == $action ) {
$action .= ' hide-if-no-js';
}
@ -1108,7 +1108,8 @@ function wp_dashboard_cached_rss_widget( $widget_id, $callback, $check_urls = ar
array_unshift( $args, $widget_id, $check_urls );
ob_start();
call_user_func_array( $callback, $args );
set_transient( $cache_key, ob_get_flush(), 12 * HOUR_IN_SECONDS ); // Default lifetime in cache of 12 hours (same as the feeds)
// Default lifetime in cache of 12 hours (same as the feeds).
set_transient( $cache_key, ob_get_flush(), 12 * HOUR_IN_SECONDS );
}
return true;
@ -1163,7 +1164,8 @@ function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) {
$widget_options[ $widget_id ] = array();
}
$number = 1; // Hack to use wp_widget_rss_form()
$number = 1; // Hack to use wp_widget_rss_form().
$widget_options[ $widget_id ]['number'] = $number;
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset( $_POST['widget-rss'][ $number ] ) ) {
@ -1662,7 +1664,7 @@ function wp_check_browser_version() {
$response = get_site_transient( 'browser_' . $key );
if ( false === $response ) {
// include an unmodified $wp_version
// Include an unmodified $wp_version.
include( ABSPATH . WPINC . '/version.php' );
$url = 'http://api.wordpress.org/core/browse-happy/1.1/';

View File

@ -233,7 +233,7 @@ function get_author_user_ids() {
if ( !is_multisite() )
$level_key = $wpdb->get_blog_prefix() . 'user_level';
else
$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // wpmu site admins don't have user_levels
$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // WPMU site admins don't have user_levels.
return $wpdb->get_col( $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value != '0'", $level_key) );
}
@ -295,7 +295,7 @@ function get_editable_user_ids( $user_id, $exclude_zeros = true, $post_type = 'p
if ( !is_multisite() )
$level_key = $wpdb->get_blog_prefix() . 'user_level';
else
$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // wpmu site admins don't have user_levels
$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // WPMU site admins don't have user_levels.
$query = $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s", $level_key);
if ( $exclude_zeros )
@ -319,7 +319,7 @@ function get_nonauthor_user_ids() {
if ( !is_multisite() )
$level_key = $wpdb->get_blog_prefix() . 'user_level';
else
$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // wpmu site admins don't have user_levels
$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // WPMU site admins don't have user_levels.
return $wpdb->get_col( $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value = '0'", $level_key) );
}
@ -544,7 +544,7 @@ class WP_User_Search {
$this->query_from .= " INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id";
$this->query_where .= $wpdb->prepare(" AND $wpdb->usermeta.meta_key = '{$wpdb->prefix}capabilities' AND $wpdb->usermeta.meta_value LIKE %s", '%' . $this->role . '%');
} elseif ( is_multisite() ) {
$level_key = $wpdb->prefix . 'capabilities'; // wpmu site admins don't have user_levels
$level_key = $wpdb->prefix . 'capabilities'; // WPMU site admins don't have user_levels.
$this->query_from .= ", $wpdb->usermeta";
$this->query_where .= " AND $wpdb->users.ID = $wpdb->usermeta.user_id AND meta_key = '{$level_key}'";
}
@ -564,7 +564,7 @@ class WP_User_Search {
$this->results = $wpdb->get_col("SELECT DISTINCT($wpdb->users.ID)" . $this->query_from . $this->query_where . $this->query_orderby . $this->query_limit);
if ( $this->results )
$this->total_users_for_query = $wpdb->get_var("SELECT COUNT(DISTINCT($wpdb->users.ID))" . $this->query_from . $this->query_where); // no limit
$this->total_users_for_query = $wpdb->get_var("SELECT COUNT(DISTINCT($wpdb->users.ID))" . $this->query_from . $this->query_where); // No limit.
else
$this->search_errors = new WP_Error('no_matching_users_found', __('No users found.'));
}
@ -584,7 +584,7 @@ class WP_User_Search {
* @access public
*/
public function do_paging() {
if ( $this->total_users_for_query > $this->users_per_page ) { // have to page the results
if ( $this->total_users_for_query > $this->users_per_page ) { // Have to page the results.
$args = array();
if ( ! empty($this->search_term) )
$args['usersearch'] = urlencode($this->search_term);
@ -1319,7 +1319,7 @@ function wp_dashboard_secondary_control() {}
function wp_dashboard_plugins_output( $rss, $args = array() ) {
_deprecated_function( __FUNCTION__, '4.8.0' );
// Plugin feeds plus link to install them
// Plugin feeds plus link to install them.
$popular = fetch_feed( $args['url']['popular'] );
if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) {
@ -1335,9 +1335,9 @@ function wp_dashboard_plugins_output( $rss, $args = array() ) {
$items = $feed->get_items(0, 5);
// Pick a random, non-installed plugin
// Pick a random, non-installed plugin.
while ( true ) {
// Abort this foreach loop iteration if there's no plugins left of this type
// Abort this foreach loop iteration if there's no plugins left of this type.
if ( 0 == count($items) )
continue 2;
@ -1367,7 +1367,7 @@ function wp_dashboard_plugins_output( $rss, $args = array() ) {
break;
}
// Eliminate some common badly formed plugin descriptions
// Eliminate some common badly formed plugin descriptions.
while ( ( null !== $item_key = array_rand($items) ) && false !== strpos( $items[$item_key]->get_description(), 'Plugin Name:' ) )
unset($items[$item_key]);

View File

@ -21,7 +21,7 @@ $wp_file_descriptions = array(
'searchform.php' => __( 'Search Form' ),
'404.php' => __( '404 Template' ),
'link.php' => __( 'Links Template' ),
// Archives
// Archives.
'index.php' => __( 'Main Index Template' ),
'archive.php' => __( 'Archives' ),
'author.php' => __( 'Author Template' ),
@ -31,33 +31,33 @@ $wp_file_descriptions = array(
'home.php' => __( 'Posts Page' ),
'search.php' => __( 'Search Results' ),
'date.php' => __( 'Date Template' ),
// Content
// Content.
'singular.php' => __( 'Singular Template' ),
'single.php' => __( 'Single Post' ),
'page.php' => __( 'Single Page' ),
'front-page.php' => __( 'Homepage' ),
'privacy-policy.php' => __( 'Privacy Policy Page' ),
// Attachments
// Attachments.
'attachment.php' => __( 'Attachment Template' ),
'image.php' => __( 'Image Attachment Template' ),
'video.php' => __( 'Video Attachment Template' ),
'audio.php' => __( 'Audio Attachment Template' ),
'application.php' => __( 'Application Attachment Template' ),
// Embeds
// Embeds.
'embed.php' => __( 'Embed Template' ),
'embed-404.php' => __( 'Embed 404 Template' ),
'embed-content.php' => __( 'Embed Content Template' ),
'header-embed.php' => __( 'Embed Header Template' ),
'footer-embed.php' => __( 'Embed Footer Template' ),
// Stylesheets
// Stylesheets.
'style.css' => __( 'Stylesheet' ),
'editor-style.css' => __( 'Visual Editor Stylesheet' ),
'editor-style-rtl.css' => __( 'Visual Editor RTL Stylesheet' ),
'rtl.css' => __( 'RTL Stylesheet' ),
// Other
// Other.
'my-hacks.php' => __( 'my-hacks.php (legacy hacks support)' ),
'.htaccess' => __( '.htaccess (for rewrite rules )' ),
// Deprecated files
// Deprecated files.
'wp-layout.css' => __( 'Stylesheet' ),
'wp-comments.php' => __( 'Comments Template' ),
'wp-comments-popup.php' => __( 'Popup Comments Template' ),
@ -455,7 +455,7 @@ function wp_edit_theme_plugin_file( $args ) {
}
}
// Compare based on relative paths
// Compare based on relative paths.
if ( 0 !== validate_file( $file, array_keys( $allowed_files ) ) ) {
return new WP_Error( 'disallowed_theme_file', __( 'Sorry, that file cannot be edited.' ) );
}
@ -507,7 +507,8 @@ function wp_edit_theme_plugin_file( $args ) {
$scrape_key = md5( rand() );
$transient = 'scrape_key_' . $scrape_key;
$scrape_nonce = strval( rand() );
set_transient( $transient, $scrape_nonce, 60 ); // It shouldn't take more than 60 seconds to make the two loopback requests.
// It shouldn't take more than 60 seconds to make the two loopback requests.
set_transient( $transient, $scrape_nonce, 60 );
$cookies = wp_unslash( $_COOKIE );
$scrape_params = array(
@ -644,7 +645,7 @@ function wp_tempnam( $filename = '', $dir = '' ) {
$filename = uniqid();
}
// Use the basename of the given file without the extension as the name for the temporary directory
// Use the basename of the given file without the extension as the name for the temporary directory.
$temp_filename = basename( $filename );
$temp_filename = preg_replace( '|\.[^.]*$|', '', $temp_filename );
@ -653,7 +654,7 @@ function wp_tempnam( $filename = '', $dir = '' ) {
return wp_tempnam( dirname( $filename ), $dir );
}
// Suffix some random data to avoid filename conflicts
// Suffix some random data to avoid filename conflicts.
$temp_filename .= '-' . wp_generate_password( 6, false );
$temp_filename .= '.tmp';
$temp_filename = $dir . wp_unique_filename( $dir, $temp_filename );
@ -735,7 +736,7 @@ function _wp_handle_upload( &$file, $overrides, $time, $action ) {
*/
$file = apply_filters( "{$action}_prefilter", $file );
// You may define your own function and pass the name in $overrides['upload_error_handler']
// You may define your own function and pass the name in $overrides['upload_error_handler'].
$upload_error_handler = 'wp_handle_upload_error';
if ( isset( $overrides['upload_error_handler'] ) ) {
$upload_error_handler = $overrides['upload_error_handler'];
@ -748,7 +749,7 @@ function _wp_handle_upload( &$file, $overrides, $time, $action ) {
// Install user overrides. Did we mention that this voids your warranty?
// You may define your own function and pass the name in $overrides['unique_filename_callback']
// You may define your own function and pass the name in $overrides['unique_filename_callback'].
$unique_filename_callback = null;
if ( isset( $overrides['unique_filename_callback'] ) ) {
$unique_filename_callback = $overrides['unique_filename_callback'];
@ -822,7 +823,7 @@ function _wp_handle_upload( &$file, $overrides, $time, $action ) {
$type = empty( $wp_filetype['type'] ) ? '' : $wp_filetype['type'];
$proper_filename = empty( $wp_filetype['proper_filename'] ) ? '' : $wp_filetype['proper_filename'];
// Check to see if wp_check_filetype_and_ext() determined the filename was incorrect
// Check to see if wp_check_filetype_and_ext() determined the filename was incorrect.
if ( $proper_filename ) {
$file['name'] = $proper_filename;
}
@ -869,7 +870,7 @@ function _wp_handle_upload( &$file, $overrides, $time, $action ) {
if ( 'wp_handle_upload' === $action ) {
$move_new_file = @move_uploaded_file( $file['tmp_name'], $new_file );
} else {
// use copy and unlink because rename breaks streams.
// Use copy and unlink because rename breaks streams.
// phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
$move_new_file = @copy( $file['tmp_name'], $new_file );
unlink( $file['tmp_name'] );
@ -1001,7 +1002,7 @@ function wp_handle_sideload( &$file, $overrides = false, $time = null ) {
* @return string|WP_Error Filename on success, WP_Error on failure.
*/
function download_url( $url, $timeout = 300, $signature_verification = false ) {
//WARNING: The file is not automatically deleted, The script must unlink() the file.
// WARNING: The file is not automatically deleted, the script must unlink() the file.
if ( ! $url ) {
return new WP_Error( 'http_no_url', __( 'Invalid URL Provided.' ) );
}
@ -1082,7 +1083,7 @@ function download_url( $url, $timeout = 300, $signature_verification = false ) {
$signature = wp_remote_retrieve_header( $response, 'x-content-signature' );
if ( ! $signature ) {
// Retrieve signatures from a file if the header wasn't included.
// WordPress.org stores signatures at $package_url.sig
// WordPress.org stores signatures at $package_url.sig.
$signature_url = false;
$url_path = parse_url( $url, PHP_URL_PATH );
@ -1104,7 +1105,7 @@ function download_url( $url, $timeout = 300, $signature_verification = false ) {
$signature_request = wp_safe_remote_get(
$signature_url,
array(
'limit_response_size' => 10 * 1024, // 10KB should be large enough for quite a few signatures.
'limit_response_size' => 10 * KB_IN_BYTES, // 10KB should be large enough for quite a few signatures.
)
);
@ -1161,7 +1162,7 @@ function verify_file_md5( $filename, $expected_md5 ) {
} elseif ( 24 == strlen( $expected_md5 ) ) {
$expected_raw_md5 = base64_decode( $expected_md5 );
} else {
return false; // unknown format
return false; // Unknown format.
}
$file_md5 = md5_file( $filename, true );
@ -1210,7 +1211,7 @@ function verify_file_signature( $filename, $signatures, $filename_for_errors = f
);
}
// Check for a edge-case affecting PHP Maths abilities
// Check for a edge-case affecting PHP Maths abilities.
if (
! extension_loaded( 'sodium' ) &&
in_array( PHP_VERSION_ID, [ 70200, 70201, 70202 ], true ) &&
@ -1250,7 +1251,7 @@ function verify_file_signature( $filename, $signatures, $filename_for_errors = f
// phpcs:enable
}
// This cannot be performed in a reasonable amount of time
// This cannot be performed in a reasonable amount of time.
// https://github.com/paragonie/sodium_compat#help-sodium_compat-is-slow-how-can-i-make-it-fast
if ( ! $sodium_compat_is_fast ) {
return new WP_Error(
@ -1478,7 +1479,7 @@ function _unzip_file_ziparchive( $file, $to, $needed_dirs = array() ) {
return new WP_Error( 'stat_failed_ziparchive', __( 'Could not retrieve file from archive.' ) );
}
if ( '__MACOSX/' === substr( $info['name'], 0, 9 ) ) { // Skip the OS X-created __MACOSX directory
if ( '__MACOSX/' === substr( $info['name'], 0, 9 ) ) { // Skip the OS X-created __MACOSX directory.
continue;
}
@ -1515,10 +1516,10 @@ function _unzip_file_ziparchive( $file, $to, $needed_dirs = array() ) {
$needed_dirs = array_unique( $needed_dirs );
foreach ( $needed_dirs as $dir ) {
// Check the parent folders of the folders all exist within the creation array.
if ( untrailingslashit( $to ) == $dir ) { // Skip over the working directory, We know this exists (or will exist)
if ( untrailingslashit( $to ) == $dir ) { // Skip over the working directory, we know this exists (or will exist).
continue;
}
if ( strpos( $dir, $to ) === false ) { // If the directory is not within the working directory, Skip it
if ( strpos( $dir, $to ) === false ) { // If the directory is not within the working directory, skip it.
continue;
}
@ -1549,7 +1550,7 @@ function _unzip_file_ziparchive( $file, $to, $needed_dirs = array() ) {
continue;
}
if ( '__MACOSX/' === substr( $info['name'], 0, 9 ) ) { // Don't extract the OS X-created __MACOSX directory files
if ( '__MACOSX/' === substr( $info['name'], 0, 9 ) ) { // Don't extract the OS X-created __MACOSX directory files.
continue;
}
@ -1615,9 +1616,9 @@ function _unzip_file_pclzip( $file, $to, $needed_dirs = array() ) {
$uncompressed_size = 0;
// Determine any children directories needed (From within the archive)
// Determine any children directories needed (From within the archive).
foreach ( $archive_files as $file ) {
if ( '__MACOSX/' === substr( $file['filename'], 0, 9 ) ) { // Skip the OS X-created __MACOSX directory
if ( '__MACOSX/' === substr( $file['filename'], 0, 9 ) ) { // Skip the OS X-created __MACOSX directory.
continue;
}
@ -1641,10 +1642,10 @@ function _unzip_file_pclzip( $file, $to, $needed_dirs = array() ) {
$needed_dirs = array_unique( $needed_dirs );
foreach ( $needed_dirs as $dir ) {
// Check the parent folders of the folders all exist within the creation array.
if ( untrailingslashit( $to ) == $dir ) { // Skip over the working directory, We know this exists (or will exist)
if ( untrailingslashit( $to ) == $dir ) { // Skip over the working directory, we know this exists (or will exist).
continue;
}
if ( strpos( $dir, $to ) === false ) { // If the directory is not within the working directory, Skip it
if ( strpos( $dir, $to ) === false ) { // If the directory is not within the working directory, skip it.
continue;
}
@ -1665,13 +1666,13 @@ function _unzip_file_pclzip( $file, $to, $needed_dirs = array() ) {
}
unset( $needed_dirs );
// Extract the files from the zip
// Extract the files from the zip.
foreach ( $archive_files as $file ) {
if ( $file['folder'] ) {
continue;
}
if ( '__MACOSX/' === substr( $file['filename'], 0, 9 ) ) { // Don't extract the OS X-created __MACOSX directory files
if ( '__MACOSX/' === substr( $file['filename'], 0, 9 ) ) { // Don't extract the OS X-created __MACOSX directory files.
continue;
}
@ -1730,7 +1731,7 @@ function copy_dir( $from, $to, $skip_list = array() ) {
}
}
// generate the $sub_skip_list for the subdirectory as a sub-set of the existing $skip_list
// Generate the $sub_skip_list for the subdirectory as a sub-set of the existing $skip_list.
$sub_skip_list = array();
foreach ( $skip_list as $skip_item ) {
if ( 0 === strpos( $skip_item, $filename . '/' ) ) {
@ -1748,7 +1749,7 @@ function copy_dir( $from, $to, $skip_list = array() ) {
}
/**
* Initialises and connects the WordPress Filesystem Abstraction classes.
* Initializes and connects the WordPress Filesystem Abstraction classes.
*
* This function will include the chosen transport and attempt connecting.
*
@ -1800,7 +1801,10 @@ function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_own
$wp_filesystem = new $method( $args );
//Define the timeouts for the connections. Only available after the construct is called to allow for per-transport overriding of the default.
/*
* Define the timeouts for the connections. Only available after the constructor is called
* to allow for per-transport overriding of the default.
*/
if ( ! defined( 'FS_CONNECT_TIMEOUT' ) ) {
define( 'FS_CONNECT_TIMEOUT', 30 );
}
@ -1813,7 +1817,7 @@ function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_own
}
if ( ! $wp_filesystem->connect() ) {
return false; //There was an error connecting to the server.
return false; // There was an error connecting to the server.
}
// Set the permission constants if not already set.
@ -1854,7 +1858,8 @@ function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_own
* @return string The transport to use, see description for valid return values.
*/
function get_filesystem_method( $args = array(), $context = '', $allow_relaxed_file_ownership = false ) {
$method = defined( 'FS_METHOD' ) ? FS_METHOD : false; // Please ensure that this is either 'direct', 'ssh2', 'ftpext' or 'ftpsockets'
// Please ensure that this is either 'direct', 'ssh2', 'ftpext', or 'ftpsockets'.
$method = defined( 'FS_METHOD' ) ? FS_METHOD : false;
if ( ! $context ) {
$context = WP_CONTENT_DIR;
@ -1873,7 +1878,7 @@ function get_filesystem_method( $args = array(), $context = '', $allow_relaxed_f
$temp_handle = @fopen( $temp_file_name, 'w' );
if ( $temp_handle ) {
// Attempt to determine the file owner of the WordPress files, and that of newly created files
// Attempt to determine the file owner of the WordPress files, and that of newly created files.
$wp_file_owner = false;
$temp_file_owner = false;
if ( function_exists( 'fileowner' ) ) {
@ -1882,13 +1887,18 @@ function get_filesystem_method( $args = array(), $context = '', $allow_relaxed_f
}
if ( $wp_file_owner !== false && $wp_file_owner === $temp_file_owner ) {
// WordPress is creating files as the same owner as the WordPress files,
// this means it's safe to modify & create new files via PHP.
/*
* WordPress is creating files as the same owner as the WordPress files,
* this means it's safe to modify & create new files via PHP.
*/
$method = 'direct';
$GLOBALS['_wp_filesystem_direct_method'] = 'file_owner';
} elseif ( $allow_relaxed_file_ownership ) {
// The $context directory is writable, and $allow_relaxed_file_ownership is set, this means we can modify files
// safely in this directory. This mode doesn't create new files, only alter existing ones.
/*
* The $context directory is writable, and $allow_relaxed_file_ownership is set,
* this means we can modify files safely in this directory.
* This mode doesn't create new files, only alter existing ones.
*/
$method = 'direct';
$GLOBALS['_wp_filesystem_direct_method'] = 'relaxed_ownership';
}
@ -1905,7 +1915,7 @@ function get_filesystem_method( $args = array(), $context = '', $allow_relaxed_f
$method = 'ftpext';
}
if ( ! $method && ( extension_loaded( 'sockets' ) || function_exists( 'fsockopen' ) ) ) {
$method = 'ftpsockets'; //Sockets: Socket extension; PHP Mode: FSockopen / fwrite / fread
$method = 'ftpsockets'; // Sockets: Socket extension; PHP Mode: FSockopen / fwrite / fread.
}
/**
@ -1998,7 +2008,7 @@ function request_filesystem_credentials( $form_post, $type = '', $error = false,
$submitted_form = wp_unslash( $_POST );
// Verify nonce, or unset submitted form field values on failure
// Verify nonce, or unset submitted form field values on failure.
if ( ! isset( $_POST['_fs_nonce'] ) || ! wp_verify_nonce( $_POST['_fs_nonce'], 'filesystem-credentials' ) ) {
unset(
$submitted_form['hostname'],
@ -2010,17 +2020,17 @@ function request_filesystem_credentials( $form_post, $type = '', $error = false,
);
}
// If defined, set it to that, Else, If POST'd, set it to that, If not, Set it to whatever it previously was(saved details in option)
// If defined, set it to that. Else, if POST'd, set it to that. If not, set it to whatever it previously was (saved details in option).
$credentials['hostname'] = defined( 'FTP_HOST' ) ? FTP_HOST : ( ! empty( $submitted_form['hostname'] ) ? $submitted_form['hostname'] : $credentials['hostname'] );
$credentials['username'] = defined( 'FTP_USER' ) ? FTP_USER : ( ! empty( $submitted_form['username'] ) ? $submitted_form['username'] : $credentials['username'] );
$credentials['password'] = defined( 'FTP_PASS' ) ? FTP_PASS : ( ! empty( $submitted_form['password'] ) ? $submitted_form['password'] : '' );
// Check to see if we are setting the public/private keys for ssh
// Check to see if we are setting the public/private keys for ssh.
$credentials['public_key'] = defined( 'FTP_PUBKEY' ) ? FTP_PUBKEY : ( ! empty( $submitted_form['public_key'] ) ? $submitted_form['public_key'] : '' );
$credentials['private_key'] = defined( 'FTP_PRIKEY' ) ? FTP_PRIKEY : ( ! empty( $submitted_form['private_key'] ) ? $submitted_form['private_key'] : '' );
// Sanitize the hostname, Some people might pass in odd-data:
$credentials['hostname'] = preg_replace( '|\w+://|', '', $credentials['hostname'] ); //Strip any schemes off
// Sanitize the hostname, some people might pass in odd data.
$credentials['hostname'] = preg_replace( '|\w+://|', '', $credentials['hostname'] ); // Strip any schemes off.
if ( strpos( $credentials['hostname'], ':' ) ) {
list( $credentials['hostname'], $credentials['port'] ) = explode( ':', $credentials['hostname'], 2 );
@ -2033,11 +2043,11 @@ function request_filesystem_credentials( $form_post, $type = '', $error = false,
if ( ( defined( 'FTP_SSH' ) && FTP_SSH ) || ( defined( 'FS_METHOD' ) && 'ssh2' == FS_METHOD ) ) {
$credentials['connection_type'] = 'ssh';
} elseif ( ( defined( 'FTP_SSL' ) && FTP_SSL ) && 'ftpext' == $type ) { //Only the FTP Extension understands SSL
} elseif ( ( defined( 'FTP_SSL' ) && FTP_SSL ) && 'ftpext' == $type ) { // Only the FTP Extension understands SSL.
$credentials['connection_type'] = 'ftps';
} elseif ( ! empty( $submitted_form['connection_type'] ) ) {
$credentials['connection_type'] = $submitted_form['connection_type'];
} elseif ( ! isset( $credentials['connection_type'] ) ) { //All else fails (And it's not defaulted to something else saved), Default to FTP
} elseif ( ! isset( $credentials['connection_type'] ) ) { // All else fails (and it's not defaulted to something else saved), default to FTP.
$credentials['connection_type'] = 'ftp';
}
if ( ! $error &&
@ -2046,7 +2056,7 @@ function request_filesystem_credentials( $form_post, $type = '', $error = false,
( 'ssh' == $credentials['connection_type'] && ! empty( $credentials['public_key'] ) && ! empty( $credentials['private_key'] ) )
) ) {
$stored_credentials = $credentials;
if ( ! empty( $stored_credentials['port'] ) ) { //save port as part of hostname to simplify above code.
if ( ! empty( $stored_credentials['port'] ) ) { // Save port as part of hostname to simplify above code.
$stored_credentials['hostname'] .= ':' . $stored_credentials['port'];
}
@ -2075,7 +2085,7 @@ function request_filesystem_credentials( $form_post, $type = '', $error = false,
if ( extension_loaded( 'ftp' ) || extension_loaded( 'sockets' ) || function_exists( 'fsockopen' ) ) {
$types['ftp'] = __( 'FTP' );
}
if ( extension_loaded( 'ftp' ) ) { //Only this supports FTPS
if ( extension_loaded( 'ftp' ) ) { // Only this supports FTPS.
$types['ftps'] = __( 'FTPS (SSL)' );
}
if ( extension_loaded( 'ssh2' ) && function_exists( 'stream_get_contents' ) ) {

View File

@ -199,7 +199,7 @@ function wp_image_editor( $post_id, $msg = false ) {
<button type="button" onclick="imageEdit.handleCropToolClick( <?php echo "$post_id, '$nonce'"; ?>, this )" class="imgedit-crop button disabled" disabled><?php esc_html_e( 'Crop' ); ?></button>
<?php
// On some setups GD library does not provide imagerotate() - Ticket #11536
// On some setups GD library does not provide imagerotate() - Ticket #11536.
if ( wp_image_editor_supports(
array(
'mime_type' => get_post_mime_type( $post_id ),
@ -601,10 +601,10 @@ function image_edit_apply_changes( $image, $changes ) {
$w = $size['width'];
$h = $size['height'];
$scale = 1 / _image_get_preview_ratio( $w, $h ); // discard preview scaling
$scale = 1 / _image_get_preview_ratio( $w, $h ); // Discard preview scaling.
$image->crop( $sel->x * $scale, $sel->y * $scale, $sel->w * $scale, $sel->h * $scale );
} else {
$scale = 1 / _image_get_preview_ratio( imagesx( $image ), imagesy( $image ) ); // discard preview scaling
$scale = 1 / _image_get_preview_ratio( imagesx( $image ), imagesy( $image ) ); // Discard preview scaling.
$image = _crop_image_resource( $image, $sel->x * $scale, $sel->y * $scale, $sel->w * $scale, $sel->h * $scale );
}
break;
@ -955,7 +955,7 @@ function wp_save_image( $post_id ) {
update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes );
if ( $target == 'thumbnail' || $target == 'all' || $target == 'full' ) {
// Check if it's an image edit from attachment edit screen
// Check if it's an image edit from attachment edit screen.
if ( ! empty( $_REQUEST['context'] ) && 'edit-attachment' == $_REQUEST['context'] ) {
$thumb_url = wp_get_attachment_image_src( $post_id, array( 900, 600 ), true );
$return->thumbnail = $thumb_url[0];

View File

@ -24,7 +24,7 @@
*/
function wp_crop_image( $src, $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $src_abs = false, $dst_file = false ) {
$src_file = $src;
if ( is_numeric( $src ) ) { // Handle int as attachment ID
if ( is_numeric( $src ) ) { // Handle int as attachment ID.
$src_file = get_attached_file( $src );
if ( ! file_exists( $src_file ) ) {
@ -117,11 +117,13 @@ function wp_get_missing_image_subsizes( $attachment_id ) {
$image_meta['sizes'] = array();
}
// Remove sizes that already exist. Only checks for matching "size names".
// It is possible that the dimensions for a particular size name have changed.
// For example the user has changed the values on the Settings -> Media screen.
// However we keep the old sub-sizes with the previous dimensions
// as the image may have been used in an older post.
/*
* Remove sizes that already exist. Only checks for matching "size names".
* It is possible that the dimensions for a particular size name have changed.
* For example the user has changed the values on the Settings -> Media screen.
* However we keep the old sub-sizes with the previous dimensions
* as the image may have been used in an older post.
*/
$missing_sizes = array_diff_key( $possible_sizes, $image_meta['sizes'] );
/**
@ -229,7 +231,7 @@ function wp_create_image_subsizes( $file, $attachment_id ) {
return array();
}
// Default image meta
// Default image meta.
$image_meta = array(
'width' => $imagesize[0],
'height' => $imagesize[1],
@ -318,7 +320,7 @@ function wp_create_image_subsizes( $file, $attachment_id ) {
return $image_meta;
}
// Rotate the image
// Rotate the image.
$rotated = $editor->maybe_exif_rotate();
if ( true === $rotated ) {
@ -339,9 +341,11 @@ function wp_create_image_subsizes( $file, $attachment_id ) {
}
}
// Initial save of the new metadata.
// At this point the file was uploaded and moved to the uploads directory
// but the image sub-sizes haven't been created yet and the `sizes` array is empty.
/*
* Initial save of the new metadata.
* At this point the file was uploaded and moved to the uploads directory
* but the image sub-sizes haven't been created yet and the `sizes` array is empty.
*/
wp_update_attachment_metadata( $attachment_id, $image_meta );
$new_sizes = wp_get_registered_image_subsizes();
@ -386,9 +390,11 @@ function _wp_make_subsizes( $new_sizes, $file, $image_meta, $attachment_id ) {
// Check if any of the new sizes already exist.
if ( isset( $image_meta['sizes'] ) && is_array( $image_meta['sizes'] ) ) {
foreach ( $image_meta['sizes'] as $size_name => $size_meta ) {
// Only checks "size name" so we don't override existing images even if the dimensions
// don't match the currently defined size with the same name.
// To change the behavior, unset changed/mismatched sizes in the `sizes` array in image meta.
/*
* Only checks "size name" so we don't override existing images even if the dimensions
* don't match the currently defined size with the same name.
* To change the behavior, unset changed/mismatched sizes in the `sizes` array in image meta.
*/
if ( array_key_exists( $size_name, $new_sizes ) ) {
unset( $new_sizes[ $size_name ] );
}
@ -402,9 +408,11 @@ function _wp_make_subsizes( $new_sizes, $file, $image_meta, $attachment_id ) {
return $image_meta;
}
// Sort the image sub-sizes in order of priority when creating them.
// This ensures there is an appropriate sub-size the user can access immediately
// even when there was an error and not all sub-sizes were created.
/*
* Sort the image sub-sizes in order of priority when creating them.
* This ensures there is an appropriate sub-size the user can access immediately
* even when there was an error and not all sub-sizes were created.
*/
$priority = array(
'medium' => null,
'large' => null,
@ -733,21 +741,21 @@ function wp_read_image_metadata( $file ) {
$meta['caption'] = $caption;
}
if ( ! empty( $iptc['2#110'][0] ) ) { // credit
if ( ! empty( $iptc['2#110'][0] ) ) { // Credit.
$meta['credit'] = trim( $iptc['2#110'][0] );
} elseif ( ! empty( $iptc['2#080'][0] ) ) { // creator / legacy byline
} elseif ( ! empty( $iptc['2#080'][0] ) ) { // Creator / legacy byline.
$meta['credit'] = trim( $iptc['2#080'][0] );
}
if ( ! empty( $iptc['2#055'][0] ) && ! empty( $iptc['2#060'][0] ) ) { // created date and time
if ( ! empty( $iptc['2#055'][0] ) && ! empty( $iptc['2#060'][0] ) ) { // Created date and time.
$meta['created_timestamp'] = strtotime( $iptc['2#055'][0] . ' ' . $iptc['2#060'][0] );
}
if ( ! empty( $iptc['2#116'][0] ) ) { // copyright
if ( ! empty( $iptc['2#116'][0] ) ) { // Copyright.
$meta['copyright'] = trim( $iptc['2#116'][0] );
}
if ( ! empty( $iptc['2#025'][0] ) ) { // keywords array
if ( ! empty( $iptc['2#025'][0] ) ) { // Keywords array.
$meta['keywords'] = array_values( $iptc['2#025'] );
}
}
@ -773,7 +781,7 @@ function wp_read_image_metadata( $file ) {
reset_mbstring_encoding();
if ( empty( $meta['title'] ) && $description_length < 80 ) {
// Assume the title is stored in ImageDescription
// Assume the title is stored in ImageDescription.
$meta['title'] = trim( $exif['ImageDescription'] );
}

View File

@ -103,7 +103,7 @@ function wp_import_handle_upload() {
return $upload;
}
// Construct the object array
// Construct the object array.
$object = array(
'post_title' => wp_basename( $upload['file'] ),
'post_content' => $upload['url'],
@ -113,7 +113,7 @@ function wp_import_handle_upload() {
'post_status' => 'private',
);
// Save the data
// Save the data.
$id = wp_insert_attachment( $object, $upload['file'] );
/*
@ -136,7 +136,7 @@ function wp_import_handle_upload() {
* @return array Importers with metadata for each.
*/
function wp_get_popular_importers() {
include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
include( ABSPATH . WPINC . '/version.php' ); // Include an unmodified $wp_version.
$locale = get_user_locale();
$cache_key = 'popular_importers_' . md5( $locale . $wp_version );
@ -184,7 +184,7 @@ function wp_get_popular_importers() {
}
return array(
// slug => name, description, plugin slug, and register_importer() slug
// slug => name, description, plugin slug, and register_importer() slug.
'blogger' => array(
'name' => __( 'Blogger' ),
'description' => __( 'Import posts, comments, and users from a Blogger blog.' ),

View File

@ -21,7 +21,7 @@
*/
function _get_list_table( $class, $args = array() ) {
$core_classes = array(
//Site Admin
// Site Admin.
'WP_Posts_List_Table' => 'posts',
'WP_Media_List_Table' => 'media',
'WP_Terms_List_Table' => 'terms',
@ -34,12 +34,12 @@ function _get_list_table( $class, $args = array() ) {
'WP_Theme_Install_List_Table' => array( 'themes', 'theme-install' ),
'WP_Plugins_List_Table' => 'plugins',
// Network Admin
// Network Admin.
'WP_MS_Sites_List_Table' => 'ms-sites',
'WP_MS_Users_List_Table' => 'ms-users',
'WP_MS_Themes_List_Table' => 'ms-themes',
// Privacy requests tables
// Privacy requests tables.
'WP_Privacy_Data_Export_Requests_List_Table' => 'privacy-data-export-requests',
'WP_Privacy_Data_Removal_Requests_List_Table' => 'privacy-data-removal-requests',
);

View File

@ -15,7 +15,7 @@
*/
function media_upload_tabs() {
$_default_tabs = array(
'type' => __( 'From Computer' ), // handler action suffix => tab text
'type' => __( 'From Computer' ), // Handler action suffix => tab text.
'type_url' => __( 'From URL' ),
'gallery' => __( 'Gallery' ),
'library' => __( 'Media Library' ),
@ -226,7 +226,7 @@ function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $
$caption = str_replace( array( "\r\n", "\r" ), "\n", $caption );
$caption = preg_replace_callback( '/<[a-zA-Z0-9]+(?: [^<>]+>)*/', '_cleanup_image_add_caption', $caption );
// Convert any remaining line breaks to <br>.
// Convert any remaining line breaks to <br />.
$caption = preg_replace( '/[ \n\t]*\n[ \t]*/', '<br />', $caption );
$html = preg_replace( '/(class=["\'][^\'"]*)align(none|left|right|center)\s?/', '$1', $html );
@ -388,7 +388,7 @@ function media_handle_upload( $file_id, $post_id, $post_data = array(), $overrid
}
}
// Construct the attachment array
// Construct the attachment array.
$attachment = array_merge(
array(
'post_mime_type' => $type,
@ -404,7 +404,7 @@ function media_handle_upload( $file_id, $post_id, $post_data = array(), $overrid
// This should never be set as it would then overwrite an existing attachment.
unset( $attachment['ID'] );
// Save the data
// Save the data.
$attachment_id = wp_insert_attachment( $attachment, $file, $post_id, true );
if ( ! is_wp_error( $attachment_id ) ) {
@ -490,7 +490,7 @@ function media_handle_sideload( $file_array, $post_id = 0, $desc = null, $post_d
// This should never be set as it would then overwrite an existing attachment.
unset( $attachment['ID'] );
// Save the attachment metadata
// Save the attachment metadata.
$attachment_id = wp_insert_attachment( $attachment, $file, $post_id, true );
if ( ! is_wp_error( $attachment_id ) ) {
@ -519,7 +519,7 @@ function wp_iframe( $content_func, ...$args ) {
<?php
wp_enqueue_style( 'colors' );
// Check callback name for 'media'
// Check callback name for 'media'.
if (
( is_array( $content_func ) && ! empty( $content_func[1] ) && 0 === strpos( (string) $content_func[1], 'media' ) ) ||
( ! is_array( $content_func ) && 0 === strpos( $content_func, 'media' ) )
@ -849,7 +849,7 @@ function wp_media_upload_handler() {
if ( isset( $_POST['html-upload'] ) && ! empty( $_FILES ) ) {
check_admin_referer( 'media-form' );
// Upload File button was clicked
// Upload File button was clicked.
$id = media_handle_upload( 'async-upload', $_REQUEST['post_id'] );
unset( $_FILES );
@ -1421,8 +1421,12 @@ function get_attachment_fields_to_edit( $post, $errors = null ) {
$form_fields[ $taxonomy ] = $t;
}
// Merge default fields with their errors, so any key passed with the error (e.g. 'error', 'helps', 'value') will replace the default
// The recursive merge is easily traversed with array casting: foreach ( (array) $things as $thing )
/*
* Merge default fields with their errors, so any key passed with the error
* (e.g. 'error', 'helps', 'value') will replace the default.
* The recursive merge is easily traversed with array casting:
* foreach ( (array) $things as $thing )
*/
$form_fields = array_merge_recursive( $form_fields, (array) $errors );
// This was formerly in image_attachment_fields_to_edit().
@ -1596,7 +1600,7 @@ function get_media_item( $attachment_id, $args = null ) {
$toggle_links = '';
}
$display_title = ( ! empty( $title ) ) ? $title : $filename; // $title shouldn't ever be empty, but just in case
$display_title = ( ! empty( $title ) ) ? $title : $filename; // $title shouldn't ever be empty, but just in case.
$display_title = $parsed_args['show_title'] ? "<div class='filename new'><span class='title'>" . wp_html_excerpt( $display_title, 60, '&hellip;' ) . '</span></div>' : '';
$gallery = ( ( isset( $_REQUEST['tab'] ) && 'gallery' == $_REQUEST['tab'] ) || ( isset( $redir_tab ) && 'gallery' == $redir_tab ) );
@ -1710,7 +1714,7 @@ function get_media_item( $attachment_id, $args = null ) {
if ( isset( $_GET['post_id'] ) ) {
$calling_post_id = absint( $_GET['post_id'] );
} elseif ( isset( $_POST ) && count( $_POST ) ) {// Like for async-upload where $_GET['post_id'] isn't set
} elseif ( isset( $_POST ) && count( $_POST ) ) {// Like for async-upload where $_GET['post_id'] isn't set.
$calling_post_id = $post->post_parent;
}
@ -1875,8 +1879,12 @@ function get_compat_media_markup( $attachment_id, $args = null ) {
}
}
// Merge default fields with their errors, so any key passed with the error (e.g. 'error', 'helps', 'value') will replace the default
// The recursive merge is easily traversed with array casting: foreach ( (array) $things as $thing )
/*
* Merge default fields with their errors, so any key passed with the error
* (e.g. 'error', 'helps', 'value') will replace the default.
* The recursive merge is easily traversed with array casting:
* foreach ( (array) $things as $thing )
*/
$form_fields = array_merge_recursive( $form_fields, (array) $args['errors'] );
/** This filter is documented in wp-admin/includes/media.php */
@ -2132,8 +2140,11 @@ function media_upload_form( $errors = null ) {
'multipart_params' => $post_params,
);
// Currently only iOS Safari supports multiple files uploading but iOS 7.x has a bug that prevents uploading of videos
// when enabled. See #29602.
/*
* Currently only iOS Safari supports multiple files uploading,
* but iOS 7.x has a bug that prevents uploading of videos when enabled.
* See #29602.
*/
if (
wp_is_mobile() &&
strpos( $_SERVER['HTTP_USER_AGENT'], 'OS 7_' ) !== false &&
@ -2700,7 +2711,7 @@ function media_upload_library_form( $errors ) {
}
}
}
// If available type specified by media button clicked, filter by that type
// If available type specified by media button clicked, filter by that type.
if ( empty( $_GET['post_mime_type'] ) && ! empty( $num_posts[ $type ] ) ) {
$_GET['post_mime_type'] = $type;
list($post_mime_types, $avail_post_mime_types) = wp_edit_attachments_query();

View File

@ -208,13 +208,13 @@ function add_menu_classes( $menu ) {
foreach ( $menu as $order => $top ) {
$i++;
if ( 0 == $order ) { // dashboard is always shown/single
if ( 0 == $order ) { // Dashboard is always shown/single.
$menu[0][4] = add_cssclass( 'menu-top-first', $top[4] );
$lastorder = 0;
continue;
}
if ( 0 === strpos( $top[2], 'separator' ) && false !== $lastorder ) { // if separator
if ( 0 === strpos( $top[2], 'separator' ) && false !== $lastorder ) { // If separator.
$first = true;
$c = $menu[ $lastorder ][4];
$menu[ $lastorder ][4] = add_cssclass( 'menu-top-last', $c );
@ -227,7 +227,7 @@ function add_menu_classes( $menu ) {
$first = false;
}
if ( $mc == $i ) { // last item
if ( $mc == $i ) { // Last item.
$c = $menu[ $order ][4];
$menu[ $order ][4] = add_cssclass( 'menu-top-last', $c );
}
@ -245,7 +245,7 @@ function add_menu_classes( $menu ) {
return apply_filters( 'add_menu_classes', $menu );
}
uksort( $menu, 'strnatcasecmp' ); // make it all pretty
uksort( $menu, 'strnatcasecmp' ); // Make it all pretty.
/**
* Filters whether to enable custom ordering of the administration menu.
@ -310,21 +310,21 @@ if ( apply_filters( 'custom_menu_order', false ) ) {
unset( $menu_order, $default_menu_order );
}
// Prevent adjacent separators
// Prevent adjacent separators.
$prev_menu_was_separator = false;
foreach ( $menu as $id => $data ) {
if ( false === stristr( $data[4], 'wp-menu-separator' ) ) {
// This item is not a separator, so falsey the toggler and do nothing
// This item is not a separator, so falsey the toggler and do nothing.
$prev_menu_was_separator = false;
} else {
// The previous item was a separator, so unset this one
// The previous item was a separator, so unset this one.
if ( true === $prev_menu_was_separator ) {
unset( $menu[ $id ] );
}
// This item is a separator, so truthy the toggler and move on
// This item is a separator, so truthy the toggler and move on.
$prev_menu_was_separator = true;
}
}

View File

@ -13,7 +13,7 @@
*
* @global string $wp_version
*/
$wp_version = '5.4-alpha-47083';
$wp_version = '5.4-alpha-47084';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.