--- a/wp/wp-admin/users.php Thu Sep 29 08:06:27 2022 +0200
+++ b/wp/wp-admin/users.php Fri Sep 05 18:40:08 2025 +0200
@@ -33,7 +33,7 @@
'id' => 'overview',
'title' => __( 'Overview' ),
'content' => '<p>' . __( 'This screen lists all the existing users for your site. Each user has one of five defined roles as set by the site admin: Site Administrator, Editor, Author, Contributor, or Subscriber. Users with roles other than Administrator will see fewer options in the dashboard navigation when they are logged in, based on their role.' ) . '</p>' .
- '<p>' . __( 'To add a new user for your site, click the Add New button at the top of the screen or Add New in the Users menu section.' ) . '</p>',
+ '<p>' . __( 'To add a new user for your site, click the Add New User button at the top of the screen or Add New User in the Users menu section.' ) . '</p>',
)
);
@@ -60,6 +60,12 @@
$help .= '<li>' . __( '<strong>Delete</strong> brings you to the Delete Users screen for confirmation, where you can permanently remove a user from your site and delete their content. You can also delete multiple users at once by using bulk actions.' ) . '</li>';
}
+$help .= '<li>' . __( '<strong>View</strong> takes you to a public author archive which lists all the posts published by the user.' ) . '</li>';
+
+if ( current_user_can( 'edit_users' ) ) {
+ $help .= '<li>' . __( '<strong>Send password reset</strong> sends the user an email with a link to set a new password.' ) . '</li>';
+}
+
$help .= '</ul>';
get_current_screen()->add_help_tab(
@@ -73,9 +79,9 @@
get_current_screen()->set_help_sidebar(
'<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
- '<p>' . __( '<a href="https://wordpress.org/support/article/users-screen/">Documentation on Managing Users</a>' ) . '</p>' .
- '<p>' . __( '<a href="https://wordpress.org/support/article/roles-and-capabilities/">Descriptions of Roles and Capabilities</a>' ) . '</p>' .
- '<p>' . __( '<a href="https://wordpress.org/support/">Support</a>' ) . '</p>'
+ '<p>' . __( '<a href="https://wordpress.org/documentation/article/users-screen/">Documentation on Managing Users</a>' ) . '</p>' .
+ '<p>' . __( '<a href="https://wordpress.org/documentation/article/roles-and-capabilities/">Descriptions of Roles and Capabilities</a>' ) . '</p>' .
+ '<p>' . __( '<a href="https://wordpress.org/support/forums/">Support forums</a>' ) . '</p>'
);
get_current_screen()->set_screen_reader_content(
@@ -129,18 +135,19 @@
$role = '';
}
- $userids = $_REQUEST['users'];
- $update = 'promote';
- foreach ( $userids as $id ) {
- $id = (int) $id;
+ $user_ids = array_map( 'intval', (array) $_REQUEST['users'] );
+ $update = 'promote';
+ foreach ( $user_ids as $id ) {
if ( ! current_user_can( 'promote_user', $id ) ) {
wp_die( __( 'Sorry, you are not allowed to edit this user.' ), 403 );
}
// The new role of the current user must also have the promote_users cap or be a multisite super admin.
- if ( $id == $current_user->ID && ! $wp_roles->role_objects[ $role ]->has_cap( 'promote_users' )
- && ! ( is_multisite() && current_user_can( 'manage_network_users' ) ) ) {
+ if ( $id === $current_user->ID
+ && ! $wp_roles->role_objects[ $role ]->has_cap( 'promote_users' )
+ && ! ( is_multisite() && current_user_can( 'manage_network_users' ) )
+ ) {
$update = 'err_admin_role';
continue;
}
@@ -173,10 +180,10 @@
exit;
}
- $userids = array_map( 'intval', (array) $_REQUEST['users'] );
+ $user_ids = array_map( 'intval', (array) $_REQUEST['users'] );
if ( empty( $_REQUEST['delete_option'] ) ) {
- $url = self_admin_url( 'users.php?action=delete&users[]=' . implode( '&users[]=', $userids ) . '&error=true' );
+ $url = self_admin_url( 'users.php?action=delete&users[]=' . implode( '&users[]=', $user_ids ) . '&error=true' );
$url = str_replace( '&', '&', wp_nonce_url( $url, 'bulk-users' ) );
wp_redirect( $url );
exit;
@@ -189,15 +196,16 @@
$update = 'del';
$delete_count = 0;
- foreach ( $userids as $id ) {
+ foreach ( $user_ids as $id ) {
if ( ! current_user_can( 'delete_user', $id ) ) {
wp_die( __( 'Sorry, you are not allowed to delete that user.' ), 403 );
}
- if ( $id == $current_user->ID ) {
+ if ( $id === $current_user->ID ) {
$update = 'err_admin_del';
continue;
}
+
switch ( $_REQUEST['delete_option'] ) {
case 'delete':
wp_delete_user( $id );
@@ -206,6 +214,7 @@
wp_delete_user( $id, $_REQUEST['reassign_user'] );
break;
}
+
++$delete_count;
}
@@ -221,18 +230,21 @@
case 'resetpassword':
check_admin_referer( 'bulk-users' );
+
if ( ! current_user_can( 'edit_users' ) ) {
$errors = new WP_Error( 'edit_users', __( 'Sorry, you are not allowed to edit users.' ) );
}
+
if ( empty( $_REQUEST['users'] ) ) {
wp_redirect( $redirect );
exit();
}
- $userids = array_map( 'intval', (array) $_REQUEST['users'] );
+
+ $user_ids = array_map( 'intval', (array) $_REQUEST['users'] );
$reset_count = 0;
- foreach ( $userids as $id ) {
+ foreach ( $user_ids as $id ) {
if ( ! current_user_can( 'edit_user', $id ) ) {
wp_die( __( 'Sorry, you are not allowed to edit this user.' ) );
}
@@ -244,7 +256,7 @@
// Send the password reset link.
$user = get_userdata( $id );
- if ( retrieve_password( $user->user_login ) ) {
+ if ( true === retrieve_password( $user->user_login ) ) {
++$reset_count;
}
}
@@ -276,15 +288,15 @@
}
if ( empty( $_REQUEST['users'] ) ) {
- $userids = array( (int) $_REQUEST['user'] );
+ $user_ids = array( (int) $_REQUEST['user'] );
} else {
- $userids = array_map( 'intval', (array) $_REQUEST['users'] );
+ $user_ids = array_map( 'intval', (array) $_REQUEST['users'] );
}
- $all_userids = $userids;
+ $all_user_ids = $user_ids;
- if ( in_array( $current_user->ID, $userids, true ) ) {
- $userids = array_diff( $userids, array( $current_user->ID ) );
+ if ( in_array( $current_user->ID, $user_ids, true ) ) {
+ $user_ids = array_diff( $user_ids, array( $current_user->ID ) );
}
/**
@@ -294,14 +306,22 @@
* @since 5.2.0
*
* @param bool $users_have_additional_content Whether the users have additional content. Default false.
- * @param int[] $userids Array of IDs for users being deleted.
+ * @param int[] $user_ids Array of IDs for users being deleted.
*/
- $users_have_content = (bool) apply_filters( 'users_have_additional_content', false, $userids );
+ $users_have_content = (bool) apply_filters( 'users_have_additional_content', false, $user_ids );
- if ( $userids && ! $users_have_content ) {
- if ( $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE post_author IN( " . implode( ',', $userids ) . ' ) LIMIT 1' ) ) {
+ if ( $user_ids && ! $users_have_content ) {
+ if ( $wpdb->get_var(
+ "SELECT ID FROM {$wpdb->posts}
+ WHERE post_author IN( " . implode( ',', $user_ids ) . ' )
+ LIMIT 1'
+ ) ) {
$users_have_content = true;
- } elseif ( $wpdb->get_var( "SELECT link_id FROM {$wpdb->links} WHERE link_owner IN( " . implode( ',', $userids ) . ' ) LIMIT 1' ) ) {
+ } elseif ( $wpdb->get_var(
+ "SELECT link_id FROM {$wpdb->links}
+ WHERE link_owner IN( " . implode( ',', $user_ids ) . ' )
+ LIMIT 1'
+ ) ) {
$users_have_content = true;
}
}
@@ -312,88 +332,124 @@
require_once ABSPATH . 'wp-admin/admin-header.php';
?>
- <form method="post" name="updateusers" id="updateusers">
+ <form method="post" name="updateusers" id="updateusers">
<?php wp_nonce_field( 'delete-users' ); ?>
<?php echo $referer; ?>
-<div class="wrap">
-<h1><?php _e( 'Delete Users' ); ?></h1>
- <?php if ( isset( $_REQUEST['error'] ) ) : ?>
- <div class="error">
- <p><strong><?php _e( 'Error:' ); ?></strong> <?php _e( 'Please select an option.' ); ?></p>
- </div>
+ <div class="wrap">
+ <h1><?php _e( 'Delete Users' ); ?></h1>
+
+ <?php
+ if ( isset( $_REQUEST['error'] ) ) :
+ wp_admin_notice(
+ '<strong>' . __( 'Error:' ) . '</strong> ' . __( 'Please select an option.' ),
+ array(
+ 'additional_classes' => array( 'error' ),
+ )
+ );
+ endif;
+ ?>
+
+ <?php if ( 1 === count( $all_user_ids ) ) : ?>
+ <p><?php _e( 'You have specified this user for deletion:' ); ?></p>
+ <?php else : ?>
+ <p><?php _e( 'You have specified these users for deletion:' ); ?></p>
<?php endif; ?>
- <?php if ( 1 === count( $all_userids ) ) : ?>
- <p><?php _e( 'You have specified this user for deletion:' ); ?></p>
- <?php else : ?>
- <p><?php _e( 'You have specified these users for deletion:' ); ?></p>
- <?php endif; ?>
-
-<ul>
+ <ul>
<?php
$go_delete = 0;
- foreach ( $all_userids as $id ) {
+
+ foreach ( $all_user_ids as $id ) {
$user = get_userdata( $id );
- if ( $id == $current_user->ID ) {
- /* translators: 1: User ID, 2: User login. */
- echo '<li>' . sprintf( __( 'ID #%1$s: %2$s <strong>The current user will not be deleted.</strong>' ), $id, $user->user_login ) . "</li>\n";
+
+ if ( $id === $current_user->ID ) {
+ echo '<li>';
+ printf(
+ /* translators: 1: User ID, 2: User login. */
+ __( 'ID #%1$s: %2$s <strong>The current user will not be deleted.</strong>' ),
+ $id,
+ $user->user_login
+ );
+ echo "</li>\n";
} else {
- /* translators: 1: User ID, 2: User login. */
- echo '<li><input type="hidden" name="users[]" value="' . esc_attr( $id ) . '" />' . sprintf( __( 'ID #%1$s: %2$s' ), $id, $user->user_login ) . "</li>\n";
- $go_delete++;
+ echo '<li>';
+ printf(
+ '<input type="hidden" name="users[]" value="%s" />',
+ esc_attr( $id )
+ );
+ printf(
+ /* translators: 1: User ID, 2: User login. */
+ __( 'ID #%1$s: %2$s' ),
+ $id,
+ $user->user_login
+ );
+ echo "</li>\n";
+
+ ++$go_delete;
}
}
?>
- </ul>
+ </ul>
+
<?php
if ( $go_delete ) :
if ( ! $users_have_content ) :
?>
- <input type="hidden" name="delete_option" value="delete" />
+ <input type="hidden" name="delete_option" value="delete" />
<?php else : ?>
- <?php if ( 1 == $go_delete ) : ?>
- <fieldset><p><legend><?php _e( 'What should be done with content owned by this user?' ); ?></legend></p>
- <?php else : ?>
- <fieldset><p><legend><?php _e( 'What should be done with content owned by these users?' ); ?></legend></p>
- <?php endif; ?>
- <ul style="list-style:none;">
- <li><label><input type="radio" id="delete_option0" name="delete_option" value="delete" />
- <?php _e( 'Delete all content.' ); ?></label></li>
- <li><input type="radio" id="delete_option1" name="delete_option" value="reassign" />
+ <fieldset>
+ <?php if ( 1 === $go_delete ) : ?>
+ <p><legend><?php _e( 'What should be done with content owned by this user?' ); ?></legend></p>
+ <?php else : ?>
+ <p><legend><?php _e( 'What should be done with content owned by these users?' ); ?></legend></p>
+ <?php endif; ?>
+
+ <ul style="list-style:none;">
+ <li>
+ <input type="radio" id="delete_option0" name="delete_option" value="delete" />
+ <label for="delete_option0"><?php _e( 'Delete all content.' ); ?></label>
+ </li>
+ <li>
+ <input type="radio" id="delete_option1" name="delete_option" value="reassign" />
+ <label for="delete_option1"><?php _e( 'Attribute all content to:' ); ?></label>
+ <?php
+ wp_dropdown_users(
+ array(
+ 'name' => 'reassign_user',
+ 'exclude' => $user_ids,
+ 'show' => 'display_name_with_login',
+ )
+ );
+ ?>
+ </li>
+ </ul>
+ </fieldset>
<?php
- echo '<label for="delete_option1">' . __( 'Attribute all content to:' ) . '</label> ';
- wp_dropdown_users(
- array(
- 'name' => 'reassign_user',
- 'exclude' => $userids,
- 'show' => 'display_name_with_login',
- )
- );
- ?>
- </li>
- </ul></fieldset>
- <?php
- endif;
+ endif;
+
/**
* Fires at the end of the delete users form prior to the confirm button.
*
* @since 4.0.0
- * @since 4.5.0 The `$userids` parameter was added.
+ * @since 4.5.0 The `$user_ids` parameter was added.
*
* @param WP_User $current_user WP_User object for the current user.
- * @param int[] $userids Array of IDs for users being deleted.
+ * @param int[] $user_ids Array of IDs for users being deleted.
*/
- do_action( 'delete_user_form', $current_user, $userids );
+ do_action( 'delete_user_form', $current_user, $user_ids );
?>
- <input type="hidden" name="action" value="dodelete" />
+ <input type="hidden" name="action" value="dodelete" />
<?php submit_button( __( 'Confirm Deletion' ), 'primary' ); ?>
- <?php else : ?>
- <p><?php _e( 'There are no valid users selected for deletion.' ); ?></p>
- <?php endif; ?>
- </div>
- </form>
+
+ <?php else : ?>
+
+ <p><?php _e( 'There are no valid users selected for deletion.' ); ?></p>
+
+ <?php endif; ?>
+ </div><!-- .wrap -->
+ </form><!-- #updateusers -->
<?php
break;
@@ -414,15 +470,15 @@
wp_die( __( 'Sorry, you are not allowed to remove users.' ), 403 );
}
- $userids = $_REQUEST['users'];
+ $user_ids = array_map( 'intval', (array) $_REQUEST['users'] );
+ $update = 'remove';
- $update = 'remove';
- foreach ( $userids as $id ) {
- $id = (int) $id;
+ foreach ( $user_ids as $id ) {
if ( ! current_user_can( 'remove_user', $id ) ) {
$update = 'err_admin_remove';
continue;
}
+
remove_user_from_blog( $id, $blog_id );
}
@@ -447,51 +503,74 @@
}
if ( empty( $_REQUEST['users'] ) ) {
- $userids = array( (int) $_REQUEST['user'] );
+ $user_ids = array( (int) $_REQUEST['user'] );
} else {
- $userids = $_REQUEST['users'];
+ $user_ids = array_map( 'intval', (array) $_REQUEST['users'] );
}
require_once ABSPATH . 'wp-admin/admin-header.php';
?>
- <form method="post" name="updateusers" id="updateusers">
+ <form method="post" name="updateusers" id="updateusers">
<?php wp_nonce_field( 'remove-users' ); ?>
<?php echo $referer; ?>
-<div class="wrap">
-<h1><?php _e( 'Remove Users from Site' ); ?></h1>
+ <div class="wrap">
+ <h1><?php _e( 'Remove Users from Site' ); ?></h1>
- <?php if ( 1 === count( $userids ) ) : ?>
- <p><?php _e( 'You have specified this user for removal:' ); ?></p>
+ <?php if ( 1 === count( $user_ids ) ) : ?>
+ <p><?php _e( 'You have specified this user for removal:' ); ?></p>
<?php else : ?>
- <p><?php _e( 'You have specified these users for removal:' ); ?></p>
+ <p><?php _e( 'You have specified these users for removal:' ); ?></p>
<?php endif; ?>
-<ul>
+ <ul>
<?php
$go_remove = false;
- foreach ( $userids as $id ) {
- $id = (int) $id;
+
+ foreach ( $user_ids as $id ) {
$user = get_userdata( $id );
+
if ( ! current_user_can( 'remove_user', $id ) ) {
- /* translators: 1: User ID, 2: User login. */
- echo '<li>' . sprintf( __( 'ID #%1$s: %2$s <strong>Sorry, you are not allowed to remove this user.</strong>' ), $id, $user->user_login ) . "</li>\n";
+ echo '<li>';
+ printf(
+ /* translators: 1: User ID, 2: User login. */
+ __( 'ID #%1$s: %2$s <strong>Sorry, you are not allowed to remove this user.</strong>' ),
+ $id,
+ $user->user_login
+ );
+ echo "</li>\n";
} else {
- /* translators: 1: User ID, 2: User login. */
- echo "<li><input type=\"hidden\" name=\"users[]\" value=\"{$id}\" />" . sprintf( __( 'ID #%1$s: %2$s' ), $id, $user->user_login ) . "</li>\n";
+ echo '<li>';
+ printf(
+ '<input type="hidden" name="users[]" value="%s" />',
+ esc_attr( $id )
+ );
+ printf(
+ /* translators: 1: User ID, 2: User login. */
+ __( 'ID #%1$s: %2$s' ),
+ $id,
+ $user->user_login
+ );
+ echo "</li>\n";
+
$go_remove = true;
}
}
?>
- </ul>
+ </ul>
+
<?php if ( $go_remove ) : ?>
- <input type="hidden" name="action" value="doremove" />
+
+ <input type="hidden" name="action" value="doremove" />
<?php submit_button( __( 'Confirm Removal' ), 'primary' ); ?>
- <?php else : ?>
- <p><?php _e( 'There are no valid users selected for removal.' ); ?></p>
- <?php endif; ?>
- </div>
- </form>
+
+ <?php else : ?>
+
+ <p><?php _e( 'There are no valid users selected for removal.' ); ?></p>
+
+ <?php endif; ?>
+ </div><!-- .wrap -->
+ </form><!-- #updateusers -->
<?php
break;
@@ -505,10 +584,10 @@
if ( $wp_list_table->current_action() && ! empty( $_REQUEST['users'] ) ) {
$screen = get_current_screen()->id;
$sendback = wp_get_referer();
- $userids = $_REQUEST['users'];
+ $user_ids = array_map( 'intval', (array) $_REQUEST['users'] );
/** This action is documented in wp-admin/edit.php */
- $sendback = apply_filters( "handle_bulk_actions-{$screen}", $sendback, $wp_list_table->current_action(), $userids ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
+ $sendback = apply_filters( "handle_bulk_actions-{$screen}", $sendback, $wp_list_table->current_action(), $user_ids ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
wp_safe_redirect( $sendback );
exit;
@@ -516,6 +595,7 @@
$wp_list_table->prepare_items();
$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
+
if ( $pagenum > $total_pages && $total_pages > 0 ) {
wp_redirect( add_query_arg( 'paged', $total_pages ) );
exit;
@@ -529,21 +609,28 @@
case 'del':
case 'del_many':
$delete_count = isset( $_GET['delete_count'] ) ? (int) $_GET['delete_count'] : 0;
- if ( 1 == $delete_count ) {
+ if ( 1 === $delete_count ) {
$message = __( 'User deleted.' );
} else {
/* translators: %s: Number of users. */
$message = _n( '%s user deleted.', '%s users deleted.', $delete_count );
}
- $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( $message, number_format_i18n( $delete_count ) ) . '</p></div>';
+ $message = sprintf( $message, number_format_i18n( $delete_count ) );
+ $messages[] = wp_get_admin_notice(
+ $message,
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'updated' ),
+ 'dismissible' => true,
+ )
+ );
break;
case 'add':
$message = __( 'New user created.' );
-
$user_id = isset( $_GET['id'] ) ? $_GET['id'] : false;
if ( $user_id && current_user_can( 'edit_user', $user_id ) ) {
$message .= sprintf(
- ' <a href="%s">%s</a>',
+ ' <a href="%1$s">%2$s</a>',
esc_url(
add_query_arg(
'wp_http_referer',
@@ -555,7 +642,14 @@
);
}
- $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . $message . '</p></div>';
+ $messages[] = wp_get_admin_notice(
+ $message,
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'updated' ),
+ 'dismissible' => true,
+ )
+ );
break;
case 'resetpassword':
$reset_count = isset( $_GET['reset_count'] ) ? (int) $_GET['reset_count'] : 0;
@@ -565,42 +659,107 @@
/* translators: %s: Number of users. */
$message = _n( 'Password reset links sent to %s user.', 'Password reset links sent to %s users.', $reset_count );
}
- $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( $message, number_format_i18n( $reset_count ) ) . '</p></div>';
+ $message = sprintf( $message, number_format_i18n( $reset_count ) );
+ $messages[] = wp_get_admin_notice(
+ $message,
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'updated' ),
+ 'dismissible' => true,
+ )
+ );
break;
case 'promote':
- $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __( 'Changed roles.' ) . '</p></div>';
+ $messages[] = wp_get_admin_notice(
+ __( 'Changed roles.' ),
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'updated' ),
+ 'dismissible' => true,
+ )
+ );
break;
case 'err_admin_role':
- $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . __( 'The current user’s role must have user editing capabilities.' ) . '</p></div>';
- $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __( 'Other user roles have been changed.' ) . '</p></div>';
+ $messages[] = wp_get_admin_notice(
+ __( 'The current user’s role must have user editing capabilities.' ),
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'error' ),
+ 'dismissible' => true,
+ )
+ );
+ $messages[] = wp_get_admin_notice(
+ __( 'Other user roles have been changed.' ),
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'updated' ),
+ 'dismissible' => true,
+ )
+ );
break;
case 'err_admin_del':
- $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . __( 'You cannot delete the current user.' ) . '</p></div>';
- $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __( 'Other users have been deleted.' ) . '</p></div>';
+ $messages[] = wp_get_admin_notice(
+ __( 'You cannot delete the current user.' ),
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'error' ),
+ 'dismissible' => true,
+ )
+ );
+ $messages[] = wp_get_admin_notice(
+ __( 'Other users have been deleted.' ),
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'updated' ),
+ 'dismissible' => true,
+ )
+ );
break;
case 'remove':
- $messages[] = '<div id="message" class="updated notice is-dismissible fade"><p>' . __( 'User removed from this site.' ) . '</p></div>';
+ $messages[] = wp_get_admin_notice(
+ __( 'User removed from this site.' ),
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'updated', 'fade' ),
+ 'dismissible' => true,
+ )
+ );
break;
case 'err_admin_remove':
- $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . __( 'You cannot remove the current user.' ) . '</p></div>';
- $messages[] = '<div id="message" class="updated notice is-dismissible fade"><p>' . __( 'Other users have been removed.' ) . '</p></div>';
+ $messages[] = wp_get_admin_notice(
+ __( 'You cannot remove the current user.' ),
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'error' ),
+ 'dismissible' => true,
+ )
+ );
+ $messages[] = wp_get_admin_notice(
+ __( 'Other users have been removed.' ),
+ array(
+ 'id' => 'message',
+ 'additional_classes' => array( 'updated', 'fade' ),
+ 'dismissible' => true,
+ )
+ );
break;
}
endif;
?>
- <?php if ( isset( $errors ) && is_wp_error( $errors ) ) : ?>
- <div class="error">
- <ul>
- <?php
+ <?php
+ if ( isset( $errors ) && is_wp_error( $errors ) ) :
+ $error_message = '';
foreach ( $errors->get_error_messages() as $err ) {
- echo "<li>$err</li>\n";
+ $error_message .= "<li>$err</li>\n";
}
- ?>
- </ul>
- </div>
- <?php
- endif;
+ wp_admin_notice(
+ '<ul>' . $error_message . '</ul>',
+ array(
+ 'additional_classes' => array( 'error' ),
+ )
+ );
+ endif;
if ( ! empty( $messages ) ) {
foreach ( $messages as $msg ) {
@@ -609,50 +768,55 @@
}
?>
- <div class="wrap">
- <h1 class="wp-heading-inline">
- <?php
- echo esc_html( $title );
- ?>
-</h1>
+ <div class="wrap">
+ <h1 class="wp-heading-inline">
+ <?php echo esc_html( $title ); ?>
+ </h1>
<?php
if ( current_user_can( 'create_users' ) ) {
- ?>
- <a href="<?php echo esc_url( admin_url( 'user-new.php' ) ); ?>" class="page-title-action"><?php echo esc_html_x( 'Add New', 'user' ); ?></a>
-<?php } elseif ( is_multisite() && current_user_can( 'promote_users' ) ) { ?>
- <a href="<?php echo esc_url( admin_url( 'user-new.php' ) ); ?>" class="page-title-action"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a>
- <?php
-}
+ printf(
+ '<a href="%1$s" class="page-title-action">%2$s</a>',
+ esc_url( admin_url( 'user-new.php' ) ),
+ esc_html__( 'Add New User' )
+ );
+ } elseif ( is_multisite() && current_user_can( 'promote_users' ) ) {
+ printf(
+ '<a href="%1$s" class="page-title-action">%2$s</a>',
+ esc_url( admin_url( 'user-new.php' ) ),
+ esc_html__( 'Add Existing User' )
+ );
+ }
-if ( strlen( $usersearch ) ) {
- echo '<span class="subtitle">';
- printf(
- /* translators: %s: Search query. */
- __( 'Search results for: %s' ),
- '<strong>' . esc_html( $usersearch ) . '</strong>'
- );
- echo '</span>';
-}
-?>
+ if ( strlen( $usersearch ) ) {
+ echo '<span class="subtitle">';
+ printf(
+ /* translators: %s: Search query. */
+ __( 'Search results for: %s' ),
+ '<strong>' . esc_html( $usersearch ) . '</strong>'
+ );
+ echo '</span>';
+ }
+ ?>
-<hr class="wp-header-end">
+ <hr class="wp-header-end">
<?php $wp_list_table->views(); ?>
-<form method="get">
+ <form method="get">
<?php $wp_list_table->search_box( __( 'Search Users' ), 'user' ); ?>
<?php if ( ! empty( $_REQUEST['role'] ) ) { ?>
-<input type="hidden" name="role" value="<?php echo esc_attr( $_REQUEST['role'] ); ?>" />
-<?php } ?>
+ <input type="hidden" name="role" value="<?php echo esc_attr( $_REQUEST['role'] ); ?>" />
+ <?php } ?>
<?php $wp_list_table->display(); ?>
-</form>
+
+ </form>
-<div class="clear"></div>
-</div>
+ <div class="clear"></div>
+ </div><!-- .wrap -->
<?php
break;