为什么我的if语句默认为else选项 - Wordpress

时间:2014-09-11 07:52:11

标签: php wordpress if-statement

我有以下代码:

if (is_page('541')){
    function __my_registration_redirect(){
        return home_url( '/affiliates-access/' );
    }
    add_filter( 'registration_redirect', '__my_registration_redirect' );

}else if(is_page('1119')){
    function __my_registration_redirect(){
        return home_url( '/equinox-apartments/' );
    }
    add_filter( 'registration_redirect', '__my_registration_redirect' );
}else{
    function __my_registration_redirect(){
        return home_url( '/' );
    }
    add_filter( 'registration_redirect', '__my_registration_redirect' );
}

它假设检测表单提交的页面并相应地重新指向另一个页面,但总是转到else语句....为什么?我无法解决这个问题。看起来应该有所作为

1 个答案:

答案 0 :(得分:2)

应该是这样的:

function __my_registration_redirect() {

    if ( is_page('541') )  return home_url( '/affiliates-access/' );
    else if ( is_page('1119') ) return home_url( '/equinox-apartments/' );
    else return home_url( '/' );

}
add_filter( 'registration_redirect', '__my_registration_redirect' );