Support » Developing with WordPress » Override user.php

  • I’d like to override

    if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
    		return new WP_Error(
    			'incorrect_password',
    			sprintf(
    				/* translators: %s: email address */
    				__( '<strong>ERROR</strong>: The password you entered for the email address %s is incorrect.' ),
    				'<strong>' . $email . '</strong>'
    			) .
    			' <a href="' . wp_lostpassword_url() . '">' .
    			__( 'Lost your password?' ) .
    			'</a>'
    		);

    To post the response to say:

    
    __( '<strong>ERROR</strong>: The email or password is incorrect. Please try again.' ),
    				'<strong>' . $email . '</strong>'

    I thought simply changing the filter/function name and entering my text would override it, but it doesn’t seem to be working.

Viewing 2 replies - 1 through 2 (of 2 total)
  • You can’t override a PHP function. It is only defined once. While the authentication functions are pluggable (meaning that it checks if it exists before defining it so you can plug in a new function), this code where it is checking the result might not be.

    You can use a plugin like https://wordpress.org/plugins/say-what/ to change the message.

    Moderator bcworkz

    (@bcworkz)

    You can use the “gettext” filter to alter any translatable string even if your site is not actually doing translations. I imagine this is what the say-what plugin is doing, but I’ve not looked into it.

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Override user.php’ is closed to new replies.