0

My Home page is a static custom Login Page for a network multisite with the Theme-my-login plugin running om a Divi child theme. On the login page there is the login itself which works fine, and below that two "action links" for "Register" and "Lost Password". I have two custom pages to link to for both links.

So I edit the child theme's functions.php file. Let’s say you wanted to change the default Register action link to a different URL:

function tml_action_url( $url, $action, $instance ) {
    if ( 'register' == $action )
        $url = 'YOUR REGISTRATION URL HERE';
    return $url;
}
add_filter( 'tml_action_url', 'tml_action_url', 10, 3 );

That works perfectly. If I want to include the lost password link too however:

function tml_action_url( $url, $action, $instance ) {
    if ( 'register' == $action )
        $url = 'YOUR REGISTRATION URL HERE';
    else if ( 'lost password' == $action )
        $url = 'YOUR LOST PASSWORD URL HERE';
    return $url;
}
add_filter( 'tml_action_url', 'tml_action_url', 10, 3 );

it breaks for some reason. Any help much appreciated. I have a feeling I'm not using the correct syntax or something. TIA. Jim

1 Answer 1

2

From documentation

Note that elseif and else if will only be considered exactly the same when using curly brackets. When using a colon to define your if/elseif conditions, you must not separate else if into two words, or PHP will fail with a parse error.

Either use elseif instead of else if or use curly brackets like so:

function tml_action_url( $url, $action, $instance ) 
{
    if ( 'register' == $action )
    {
        $url = 'YOUR REGISTRATION URL HERE';
    }
    else if ( 'lost password' == $action )
    {
        $url = 'YOUR LOST PASSWORD URL HERE';'
    }
    return $url;
}
Sign up to request clarification or add additional context in comments.

2 Comments

Thanks Heaps! I can finally sleep now I know what was causing that :D
Thanks again Igor, here's how the final code turned out: stackoverflow.com/questions/35908534/…

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.