wp_login_form( array $args = array() )
Provides a simple login form for use anywhere within WordPress.
Description
The login form HTML is echoed by default. Pass a false value for $echo
to return it instead.
Parameters
- $args
-
(array) (Optional) Array of options to control the form output.
-
'echo'
(bool) 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 "<a href="https://example.com/mypage/">https://example.com/mypage/</a>". Default is 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'
(bool) Whether to display the "rememberme" checkbox in the form. -
'value_username'
(string) Default value for the username field. -
'value_remember'
(bool) Whether the "Remember Me" checkbox should be checked by default. Default false (unchecked).
Default value: array()
-
'echo'
Return
(void|string) Void if 'echo' argument is true, login form HTML if 'echo' is false.
Source
File: wp-includes/general-template.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; } }
Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_login_form