Title: login_message
Published: April 25, 2014
Last modified: February 24, 2026

---

# apply_filters( ‘login_message’, string $message )

## In this article

 * [Parameters](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#parameters)
 * [More Information](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#more-information)
 * [Source](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#changelog)
 * [User Contributed Notes](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#user-contributed-notes)

[ Back to top](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#wp--skip-link--target)

Filters the message to display above the login form.

## 󠀁[Parameters](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#parameters)󠁿

 `$message`string

Login message text.

## 󠀁[More Information](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#more-information)󠁿

The **“login_message”** filter is used to filter the message displayed on the WordPress
login page above the login form. This filter can return HTML markup.

## 󠀁[Source](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#source)󠁿

    ```php
    $message = apply_filters( 'login_message', $message );
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-login.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-login.php#L231)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-login.php#L231-L231)

## 󠀁[Related](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#related)󠁿

| Used by | Description | 
| [login_header()](https://developer.wordpress.org/reference/functions/login_header/)`wp-login.php` |

Outputs the login page header.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#changelog)󠁿

| Version | Description | 
| [2.1.0](https://developer.wordpress.org/reference/since/2.1.0/) | Introduced. |

## 󠀁[User Contributed Notes](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#user-contributed-notes)󠁿

 1.   [Skip to note 7 content](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#comment-content-4167)
 2.    [Razon Komar Pal](https://profiles.wordpress.org/raazon/)  [  6 years ago  ](https://developer.wordpress.org/reference/hooks/login_message/#comment-4167)
 3.  [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-4167)
     Vote results for this note: 1[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-4167)
 4.  **Add additional message for** `wp-login.php`
 5.      ```php
         add_filter( 'login_message', 'wpdocs_sr_custom_login_message' );
         function wpdocs_sr_custom_login_message( $message ) {
             $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : '';
             $errors = new WP_Error();
     
             if ( isset( $_GET['key'] ) ) {
                 $action = 'resetpass';
             }
     
             if ( isset( $_GET['checkemail'] ) ) {
                 $action = 'checkemail';
             }
     
             switch ( $action ):
                 case 'register':
                     $message .= '<p class="message">' . __( 'Show message before register form.', 'text_domain' ) . '</p>';
                     break;
                 case 'checkemail':
                     $message .= '<p class="message">' . __( 'Show message before after registration complete message.', 'text_domain' ) . '</p>';
                     break;
                 case 'lostpassword':
                     $message .= '<p class="message">' . __( 'Show message before lost password form.', 'text_domain' ) . '</p>';
                     break;
                 default:
                     // this message will show in login screen, before the login form.
                     $message .= '<p class="message">' . __( 'Show message before login form.', 'text_domain' ) . '</p>';
                     break;
             endswitch;
     
             return $message;
         }
         ```
     
 6.   [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%3Freplytocom%3D4167%23feedback-editor-4167)
 7.   [Skip to note 8 content](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#comment-content-4614)
 8.    [Collins Mbaka](https://profiles.wordpress.org/collinsmbaka/)  [  5 years ago  ](https://developer.wordpress.org/reference/hooks/login_message/#comment-4614)
 9.  [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-4614)
     Vote results for this note: 0[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-4614)
 10. An example
 11.     ```php
         function wpdocs_the_login_message( $message ) {
             if ( empty( $message ) ) {
                 return '<p>Welcome to this site. Please log in to continue.</p>';
             } else {
                 return $message;
             }
         }
         add_filter( 'login_message', 'wpdocs_the_login_message' );
         ```
     
 12.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%3Freplytocom%3D4614%23feedback-editor-4614)
 13.  [Skip to note 9 content](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#comment-content-4615)
 14.   [Collins Mbaka](https://profiles.wordpress.org/collinsmbaka/)  [  5 years ago  ](https://developer.wordpress.org/reference/hooks/login_message/#comment-4615)
 15. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-4615)
     Vote results for this note: 0[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-4615)
 16. A plugin can register as a content filter with the code:
 17.     ```php
         add_filter( 'login_message', 'wpdocs_plugin_function_name' );
         ```
     
 18.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%3Freplytocom%3D4615%23feedback-editor-4615)
 19.  [Skip to note 10 content](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#comment-content-4626)
 20.   [Akira Tachibana](https://profiles.wordpress.org/atachibana/)  [  5 years ago  ](https://developer.wordpress.org/reference/hooks/login_message/#comment-4626)
 21. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-4626)
     Vote results for this note: 0[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-4626)
 22. (From Codex)
      Example:
 23.     ```php
         function the_login_message( $message ) {
             if ( empty($message) ){
                 return "<p>Welcome to this site. Please log in to continue</p>";
             } else {
                 return $message;
             }
         }
         add_filter( 'login_message', 'the_login_message' );
         ```
     
 24.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%3Freplytocom%3D4626%23feedback-editor-4626)
 25.  [Skip to note 11 content](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#comment-content-6483)
 26.   [EHLOVader](https://profiles.wordpress.org/ehlovader/)  [  3 years ago  ](https://developer.wordpress.org/reference/hooks/login_message/#comment-6483)
 27. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-6483)
     Vote results for this note: 0[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-6483)
 28. Expanding upon [Razon Komar Pal](https://developer.wordpress.org/reference/hooks/login_message/#comment-4167)‘
     s code snippet.
 29. I found that there are a few other instances that you might wish to show a specific
     message or not show any additional messages if the provided one is great.
 30.     ```php
         add_filter( 'login_message', function ( $message ) {
             $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : '';
     
             if ( isset( $_GET['key'] ) ) {
                 $action = 'resetpass';
             }
     
             if ( isset( $_GET['checkemail'] ) ) {
                 $action = 'checkemail';
             }
     
             if ( isset( $_GET['interim-login'] ) ) {
                 $action = 'interim-login';
             }
     
             switch ( $action ) {
                 case 'register':
                     // $message .= __( 'Show message before register form.', 'text_domain' );
                     break;
                 case 'checkemail':
                     // $message .= __( 'Show message before after registration complete message.', 'text_domain' );
                     break;
                 case 'lostpassword':
                     // $message .= __( 'Show message before lost password form.', 'text_domain' );
                     break;
                 case 'rp':
                     // $message .= __( 'Show message before reset password form.', 'text_domain' );
                     break;
                 case 'resetpass':
                     // $message .= __( 'Show message after reset password form.', 'text_domain' );
                     break;
                 case 'interim-login':
                     // $message .= __( 'Show message before interim login form.', 'text_domain' );
                     break;
                 default:
                     // $message .= __( 'Show message before login form.', 'text_domain' );
                     break;
             }
     
             return $message;
         } );
         ```
     
 31.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%3Freplytocom%3D6483%23feedback-editor-6483)
 32.  [Skip to note 12 content](https://developer.wordpress.org/reference/hooks/login_message/?output_format=md#comment-content-6488)
 33.   Anonymous User  [  3 years ago  ](https://developer.wordpress.org/reference/hooks/login_message/#comment-6488)
 34. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-6488)
     Vote results for this note: 0[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%23comment-6488)
 35. Be careful! There is another filter, with a similar description, but applied in
     a different place!
      [https://developer.wordpress.org/reference/hooks/login_messages/](https://developer.wordpress.org/reference/hooks/login_messages/)
 36. THAT filter, is for example useful when you want to change the message on the “
     check mail” screen after a registration.
 37.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F%3Freplytocom%3D6488%23feedback-editor-6488)

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Flogin_message%2F)
before being able to contribute a note or feedback.