confirm_delete_users() - WordPress 函数参考中文文档

返回介绍

confirm_delete_users()

发布于 2017-09-10 字数6757 浏览 1038 评论 0

confirm_delete_users( array $users )

描述


参数

$users

(array)
(Required)


源代码

File: wp-admin/includes/ms.php

function confirm_delete_users( $users ) {
	$current_user = wp_get_current_user();
	if ( ! is_array( $users ) || empty( $users ) ) {
		return false;
	}
	?>
	<h1><?php esc_html_e( 'Users' ); ?></h1>

	<?php if ( 1 == count( $users ) ) : ?>
		<p><?php _e( 'You have chosen to delete the user from all networks and sites.' ); ?></p>
	<?php else : ?>
		<p><?php _e( 'You have chosen to delete the following users from all networks and sites.' ); ?></p>
	<?php endif; ?>

	<form action="users.php?action=dodelete" method="post">
	<input type="hidden" name="dodelete" />
	<?php
	wp_nonce_field( 'ms-users-delete' );
	$site_admins = get_super_admins();
	$admin_out = '<option value="' . esc_attr( $current_user->ID ) . '">' . $current_user->user_login . '</option>'; ?>
	<table class="form-table">
	<?php foreach ( ( $allusers = (array) $_POST['allusers'] ) as $user_id ) {
		if ( $user_id != '' && $user_id != '0' ) {
			$delete_user = get_userdata( $user_id );

			if ( ! current_user_can( 'delete_user', $delete_user->ID ) ) {
				wp_die( sprintf( __( 'Warning! User %s cannot be deleted.' ), $delete_user->user_login ) );
			}

			if ( in_array( $delete_user->user_login, $site_admins ) ) {
				wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network administrator.' ), '<em>' . $delete_user->user_login . '</em>' ) );
			}
			?>
			<tr>
				<th scope="row"><?php echo $delete_user->user_login; ?>
					<?php echo '<input type="hidden" name="user[]" value="' . esc_attr( $user_id ) . '" />' . "\n"; ?>
				</th>
			<?php $blogs = get_blogs_of_user( $user_id, true );

			if ( ! empty( $blogs ) ) {
				?>
				<td><fieldset><p><legend><?php printf(
					/* translators: user login */
					__( 'What should be done with content owned by %s?' ),
					'<em>' . $delete_user->user_login . '</em>'
				); ?></legend></p>
				<?php
				foreach ( (array) $blogs as $key => $details ) {
					$blog_users = get_users( array( 'blog_id' => $details->userblog_id, 'fields' => array( 'ID', 'user_login' ) ) );
					if ( is_array( $blog_users ) && !empty( $blog_users ) ) {
$user_site = "<a href='" . esc_url( get_home_url( $details->userblog_id ) ) . "'>{$details->blogname}</a>";
$user_dropdown = '<label for="reassign_user" class="screen-reader-text">' . __( 'Select a user' ) . '</label>';
$user_dropdown .= "<select name='blog[$user_id][$key]' id='reassign_user'>";
$user_list = '';
foreach ( $blog_users as $user ) {
if ( ! in_array( $user->ID, $allusers ) ) {
	$user_list .= "<option value='{$user->ID}'>{$user->user_login}</option>";
}
}
if ( '' == $user_list ) {
$user_list = $admin_out;
}
$user_dropdown .= $user_list;
$user_dropdown .= "</select>\n";
?>
<ul style="list-style:none;">
<li><?php printf( __( 'Site: %s' ), $user_site ); ?></li>
<li><label><input type="radio" id="delete_option0" name="delete[<?php echo $details->userblog_id . '][' . $delete_user->ID ?>]" value="delete" checked="checked" />
<?php _e( 'Delete all content.' ); ?></label></li>
<li><label><input type="radio" id="delete_option1" name="delete[<?php echo $details->userblog_id . '][' . $delete_user->ID ?>]" value="reassign" />
<?php _e( 'Attribute all content to:' ); ?></label>
<?php echo $user_dropdown; ?></li>
</ul>
<?php
					}
				}
				echo "</fieldset></td></tr>";
			} else {
				?>
				<td><fieldset><p><legend><?php _e( 'User has no sites or content and will be deleted.' ); ?></legend></p>
			<?php } ?>
			</tr>
		<?php
		}
	}

	?>
	</table>
	<?php
	/** This action is documented in wp-admin/users.php */
	do_action( 'delete_user_form', $current_user, $allusers );

	if ( 1 == count( $users ) ) : ?>
		<p><?php _e( 'Once you hit “Confirm Deletion”, the user will be permanently removed.' ); ?></p>
	<?php else : ?>
		<p><?php _e( 'Once you hit “Confirm Deletion”, these users will be permanently removed.' ); ?></p>
	<?php endif;

	submit_button( __('Confirm Deletion'), 'primary' );
	?>
	</form>
	<?php
	return true;
}

Collapse full 源代码 code

View on Trac


相关函数

Uses

  • wp-admin/users.php:
    delete_user_form
  • wp-admin/includes/template.php:
    submit_button()
  • wp-includes/capabilities.php:
    get_super_admins()
  • wp-includes/capabilities.php:
    current_user_can()
  • wp-includes/l10n.php:
    esc_html_e()
  • wp-includes/l10n.php:
    _e()
  • wp-includes/l10n.php:
    __()
  • wp-includes/formatting.php:
    esc_attr()
  • wp-includes/formatting.php:
    esc_url()
  • wp-includes/pluggable.php:
    wp_get_current_user()
  • wp-includes/pluggable.php:
    get_userdata()
  • wp-includes/functions.php:
    wp_die()
  • wp-includes/functions.php:
    wp_nonce_field()
  • wp-includes/link-template.php:
    get_home_url()
  • wp-includes/plugin.php:
    do_action()
  • wp-includes/user.php:
    get_blogs_of_user()
  • wp-includes/user.php:
    get_users()
  • Show 12 more uses
    Hide more uses


User Contributed Notes

  1. Skip to note content

    You must log in to vote on the helpfulness of this noteVote results for this note: 0You must log in to vote on the helpfulness of this note

    Contributed by Codex

    Example

    
    <?php confirm_delete_users( array( 1, 3, 45, 7, 378, ) ); ?>
    

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!