关于if和else if语句的functions.php中的Wordpress PHP问题

时间:2016-03-09 14:54:52

标签: php wordpress

我的主页是网络多站点的静态自定义登录页面,主题为我的登录插件,运行了Divi子主题。 在登录页面上有登录本身可以正常工作,并且在“注册”和“忘记密码”的两个“动作链接”之下。 我有两个自定义页面链接到两个链接。

所以我编辑了儿童主题的functions.php文件。 假设您想要将默认的“注册”操作链接更改为其他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 );

完美无缺。但是,如果我想要包含丢失的密码链接:

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 );

它因某种原因而中断。 任何帮助非常感谢。我有一种感觉,我没有使用正确的语法或东西。 TIA。 吉姆

1 个答案:

答案 0 :(得分:2)

来自文档

  

注意elseif和else if在使用花括号时只会被认为完全相同。使用冒号来定义if / elseif条件时,如果是两个单词,则不能将else分开,否则PHP将因解析错误而失败。

使用elseif代替else if或使用大括号,如下所示:

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;
}