ClassicPress logo
Skip to content
Filter by type:

Browse:

  • Home
  • Functions
  • login_header()

login_header( string $title = 'Log In', string $message = '', WP_Error $wp_error = null )

Output the login page header.


Parameters

$title

(Optional) WordPress login Page title to display in the <title> element.<br> Default 'Log In'.

Default value: 'Log In'

$message

(Optional) Message to display in header.

Default value: ''

$wp_error

(Optional) The error to pass. Default is a WP_Error instance.

Default value: null


Source

File: wp-login.php

function login_header( $title = 'Log In', $message = '', $wp_error = null ) {
	global $error, $interim_login, $action;

	// Don't index any of these forms
	add_action( 'login_head', 'wp_sensitive_page_meta' );

	add_action( 'login_head', 'wp_login_viewport_meta' );

	if ( ! is_wp_error( $wp_error ) ) {
		$wp_error = new WP_Error();
	}

	// Shake it!
	$shake_error_codes = array( 'empty_password', 'empty_email', 'invalid_email', 'invalidcombo', 'empty_username', 'invalid_username', 'incorrect_password' );
	/**
	 * Filters the error codes array for shaking the login form.
	 *
	 * @since WP-3.0.0
	 *
	 * @param array $shake_error_codes Error codes that shake the login form.
	 */
	$shake_error_codes = apply_filters( 'shake_error_codes', $shake_error_codes );

	if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) )
		add_action( 'login_head', 'wp_shake_js', 12 );

	$login_title = get_bloginfo( 'name', 'display' );

	/* translators: Login screen title. 1: Login screen name, 2: Network or site name */
	$login_title = sprintf( __( '%1$s &lsaquo; %2$s &#8212; ClassicPress' ), $title, $login_title );

	/**
	 * Filters the title tag content for login page.
	 *
	 * @since WP-4.9.0
	 *
	 * @param string $login_title The page title, with extra context added.
	 * @param string $title       The original page title.
	 */
	$login_title = apply_filters( 'login_title', $login_title, $title );

	?><!DOCTYPE html>
	<!--[if IE 8]>
		<html xmlns="http://www.w3.org/1999/xhtml" class="ie8" <?php language_attributes(); ?>>
	<![endif]-->
	<!--[if !(IE 8) ]><!-->
		<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
	<!--<![endif]-->
	<head>
	<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
	<title><?php echo $login_title; ?></title>
	<?php

	wp_enqueue_style( 'login' );

	/*
	 * Remove all stored post data on logging out.
	 * This could be added by add_action('login_head'...) like wp_shake_js(),
	 * but maybe better if it's not removable by plugins
	 */
	if ( 'loggedout' == $wp_error->get_error_code() ) {
		?>
		<script>if("sessionStorage" in window){try{for(var key in sessionStorage){if(key.indexOf("wp-autosave-")!=-1){sessionStorage.removeItem(key)}}}catch(e){}};</script>
		<?php
	}

	/**
	 * Enqueue scripts and styles for the login page.
	 *
	 * @since WP-3.1.0
	 */
	do_action( 'login_enqueue_scripts' );

	/**
	 * Fires in the login page header after scripts are enqueued.
	 *
	 * @since WP-2.1.0
	 */
	do_action( 'login_head' );

	$classes = array( 'login-action-' . $action, 'wp-core-ui' );
	if ( is_rtl() )
		$classes[] = 'rtl';
	if ( $interim_login ) {
		$classes[] = 'interim-login';
		?>
		<style type="text/css">html{background-color: transparent;}</style>
		<?php

		if ( 'success' ===  $interim_login )
			$classes[] = 'interim-login-success';
	}
	$classes[] =' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );

	/**
	 * Filters the login page body classes.
	 *
	 * @since WP-3.5.0
	 *
	 * @param array  $classes An array of body classes.
	 * @param string $action  The action that brought the visitor to the login page.
	 */
	$classes = apply_filters( 'login_body_class', $classes, $action );

	?>
	</head>
	<body class="login <?php echo esc_attr( implode( ' ', $classes ) ); ?>">
	<?php
	/**
	 * Fires in the login page header after the body tag is opened.
	 *
	 * @since WP-4.6.0
	 */
	do_action( 'login_header' );

	?>
	<div id="login">
	<?php

	// @since 1.2.0 Moved to a testable function and enabled custom image option.
	echo get_login_image_html();

	/**
	 * Filters the message to display above the login form.
	 *
	 * @since WP-2.1.0
	 *
	 * @param string $message Login message text.
	 */
	$message = apply_filters( 'login_message', $message );
	if ( !empty( $message ) )
		echo $message . "\n";

	// In case a plugin uses $error rather than the $wp_errors object
	if ( !empty( $error ) ) {
		$wp_error->add('error', $error);
		unset($error);
	}

	if ( $wp_error->get_error_code() ) {
		$errors = '';
		$messages = '';
		foreach ( $wp_error->get_error_codes() as $code ) {
			$severity = $wp_error->get_error_data( $code );
			foreach ( $wp_error->get_error_messages( $code ) as $error_message ) {
				if ( 'message' == $severity )
					$messages .= '	' . $error_message . "<br />\n";
				else
					$errors .= '	' . $error_message . "<br />\n";
			}
		}
		if ( ! empty( $errors ) ) {
			/**
			 * Filters the error messages displayed above the login form.
			 *
			 * @since WP-2.1.0
			 *
			 * @param string $errors Login error message.
			 */
			echo '<div id="login_error">' . apply_filters( 'login_errors', $errors ) . "</div>\n";
		}
		if ( ! empty( $messages ) ) {
			/**
			 * Filters instructional messages displayed above the login form.
			 *
			 * @since WP-2.5.0
			 *
			 * @param string $messages Login messages.
			 */
			echo '<p class="message">' . apply_filters( 'login_messages', $messages ) . "</p>\n";
		}
	}
} // End of login_header()

Expand Source Code View on GitHub


Related

Uses

Uses
Uses Description
wp-login.php: shake_error_codes

Filters the error codes array for shaking the login form.

wp-login.php: login_title

Filters the title tag content for login page.

wp-login.php: login_enqueue_scripts

Enqueue scripts and styles for the login page.

wp-login.php: login_head

Fires in the login page header after scripts are enqueued.

wp-login.php: login_body_class

Filters the login page body classes.

wp-login.php: login_header

Fires in the login page header after the body tag is opened.

wp-login.php: login_message

Filters the message to display above the login form.

wp-login.php: login_errors

Filters the error messages displayed above the login form.

wp-login.php: login_messages

Filters instructional messages displayed above the login form.

wp-includes/general-template.php: get_login_image_html()

Return the HTML for the image on the login screen. This is either a link showing the ClassicPress logo (the default) or the site’s custom login image (if enabled).

wp-includes/general-template.php: language_attributes()

Displays the language attributes for the ‘html’ tag.

wp-includes/general-template.php: get_bloginfo()

Retrieves information about the current site.

wp-includes/general-template.php: bloginfo()

Displays information about the current site.

wp-includes/functions.wp-styles.php: wp_enqueue_style()

Enqueues a CSS stylesheet.

wp-includes/plugin.php: add_action()

Adds a callback function to an action hook.

wp-includes/plugin.php: do_action()

Calls the callback functions that have been added to an action hook.

wp-includes/plugin.php: add_filter()

Adds a callback function to a filter hook.

wp-includes/plugin.php: apply_filters()

Calls the callback functions that have been added to a filter hook.

Show 13 more uses Hide more uses

Changelog

Changelog
Version Description
2.1.0 Introduced.
ClassicPress Documentation • Made with ClassicPress
Privacy Policy