已解决:使用unctions.php重定向到另一个页面

时间:2019-02-04 作者:0Mr_X0

我希望用户在一个普通的网站上更改他们的头像,因为有些插件只能使用它。例如

www.example。com/members/user1/profile/change-avatar/

www.example。com/members/user2/profile/change-avatar/

是否都应重定向到

www.example。com/更改头像/

2 个回复
最合适的回答,由SO网友:0Mr_X0 整理而成

Solved it.

add_action(\'init\',\'redirect_to_change_avatar\');

function redirect_to_change_avatar() {
    if ( strpos($_SERVER[\'REQUEST_URI\'], \'/profile/change-avatar/\') !== false ) {
        wp_redirect(\'/change-avatar/\');
        exit;
    }
}
SO网友:phatskat

我建议您的逻辑更加健壮一些,这样,如果URL发生变化,您就不会仍然使用相同的位置参数:

function redirect_to_change_avatar() {
    $request_uri = filter_input( INPUT_SERVER, \'REQUEST_URI\', FILTER_SANITIZE_STRING );

    // Strpos will return boolean FALSE if the string does not match at all.
    // N.B the strict === comparison:
    if ( false === strpos( $request_uri, \'/profile/change-avatar/\' )) {
        return;
    }

    wp_redirect( \'/change-avatar/\' );
    exit;
}

相关推荐

WordPress Global Redirect

我需要进一步展开讨论Redirect entire website to a single page 包括两页而不是一页。在这个网站上,我需要两个网页是活的和所有其他重定向到主页。http://prairiebrand.com/这就是我正在尝试的代码,我得到了一个永久重定向。add_action( \'template_redirect\', \'wpse_76802_goodbye_redirect\' ); function wpse_76802_goodbye_redire