wp_login_form() WP 1.0
Provides a simple login form for use anywhere within WordPress.
The login form HTML is echoed by default. Pass a false value for $echo to return it instead.
Return
null/String. Void if 'echo' argument is true, login form HTML if 'echo' is false.
Usage
wp_login_form( $args );
- $args(array)
Array of options to control the form output.
-
echo(true/false)
Whether to display the login form or return the form HTML code.
Default: true (echo)
-
redirect(string)
URL to redirect to. Must be absolute, as in "https://example.com/mypage/".
Default: to redirect back to the request URI
-
form_id(string)
ID attribute value for the form.
Default: 'loginform'
-
label_username(string)
Label for the username or email address field.
Default: 'Username or Email Address'
-
label_password(string)
Label for the password field.
Default: 'Password'
-
label_remember(string)
Label for the remember field.
Default: 'Remember Me'
-
label_log_in(string)
Label for the submit button.
Default: 'Log In'
-
id_username(string)
ID attribute value for the username field.
Default: 'user_login'
-
id_password(string)
ID attribute value for the password field.
Default: 'user_pass'
-
id_remember(string)
ID attribute value for the remember field.
Default: 'rememberme'
-
id_submit(string)
ID attribute value for the submit button.
Default: 'wp-submit'
-
remember(true/false)
Whether to display the "rememberme" checkbox in the form.
-
value_username(string)
Default value for the username field.
Default: ''
- value_remember(true/false)
Whether the "Remember Me" checkbox should be checked by default.
Default: false (unchecked)
Default: empty array
Changelog
Code of wp_login_form() wp login form
WP 5.6
<?php
function wp_login_form( $args = array() ) {
$defaults = array(
'echo' => true,
// Default 'redirect' value takes the user back to the request URI.
'redirect' => ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'],
'form_id' => 'loginform',
'label_username' => __( 'Username or Email Address' ),
'label_password' => __( 'Password' ),
'label_remember' => __( 'Remember Me' ),
'label_log_in' => __( 'Log In' ),
'id_username' => 'user_login',
'id_password' => 'user_pass',
'id_remember' => 'rememberme',
'id_submit' => 'wp-submit',
'remember' => true,
'value_username' => '',
// Set 'value_remember' to true to default the "Remember me" checkbox to checked.
'value_remember' => false,
);
/**
* Filters the default login form output arguments.
*
* @since 3.0.0
*
* @see wp_login_form()
*
* @param array $defaults An array of default login form arguments.
*/
$args = wp_parse_args( $args, apply_filters( 'login_form_defaults', $defaults ) );
/**
* Filters content to display at the top of the login form.
*
* The filter evaluates just following the opening form tag element.
*
* @since 3.0.0
*
* @param string $content Content to display. Default empty.
* @param array $args Array of login form arguments.
*/
$login_form_top = apply_filters( 'login_form_top', '', $args );
/**
* Filters content to display in the middle of the login form.
*
* The filter evaluates just following the location where the 'login-password'
* field is displayed.
*
* @since 3.0.0
*
* @param string $content Content to display. Default empty.
* @param array $args Array of login form arguments.
*/
$login_form_middle = apply_filters( 'login_form_middle', '', $args );
/**
* Filters content to display at the bottom of the login form.
*
* The filter evaluates just preceding the closing form tag element.
*
* @since 3.0.0
*
* @param string $content Content to display. Default empty.
* @param array $args Array of login form arguments.
*/
$login_form_bottom = apply_filters( 'login_form_bottom', '', $args );
$form = '
<form name="' . $args['form_id'] . '" id="' . $args['form_id'] . '" action="' . esc_url( site_url( 'wp-login.php', 'login_post' ) ) . '" method="post">
' . $login_form_top . '
<p class="login-username">
<label for="' . esc_attr( $args['id_username'] ) . '">' . esc_html( $args['label_username'] ) . '</label>
<input type="text" name="log" id="' . esc_attr( $args['id_username'] ) . '" class="input" value="' . esc_attr( $args['value_username'] ) . '" size="20" />
</p>
<p class="login-password">
<label for="' . esc_attr( $args['id_password'] ) . '">' . esc_html( $args['label_password'] ) . '</label>
<input type="password" name="pwd" id="' . esc_attr( $args['id_password'] ) . '" class="input" value="" size="20" />
</p>
' . $login_form_middle . '
' . ( $args['remember'] ? '<p class="login-remember"><label><input name="rememberme" type="checkbox" id="' . esc_attr( $args['id_remember'] ) . '" value="forever"' . ( $args['value_remember'] ? ' checked="checked"' : '' ) . ' /> ' . esc_html( $args['label_remember'] ) . '</label></p>' : '' ) . '
<p class="login-submit">
<input type="submit" name="wp-submit" id="' . esc_attr( $args['id_submit'] ) . '" class="button button-primary" value="' . esc_attr( $args['label_log_in'] ) . '" />
<input type="hidden" name="redirect_to" value="' . esc_url( $args['redirect'] ) . '" />
</p>
' . $login_form_bottom . '
</form>';
if ( $args['echo'] ) {
echo $form;
} else {
return $form;
}
}
Related Functions