Wordpress自定义注册不适用于/注册

时间:2015-10-30 15:03:11

标签: php wordpress

我在wordpress安装上设置了自定义注册插件。问题是虽然我做的时候它完美无缺

/wp-admin.php?action=register

当我尝试/register时,我会被重定向到buddypress插件注册页面。我通过添加

禁用了此功能
remove_action( 'bp_init', 'bp_core_wpsignup_redirect' );  
remove_action( 'bp_screens', 'bp_core_screen_signup' );

在我的functions.php中,但现在当我尝试访问/register时,我会进入wordpress的默认注册页面,我的插件会被忽略。

这是我用来重定向到我的自定义插件的内容:

add_action('login_form_register',  array($this,'redirect_to_custom_register'));

   public function redirect_to_custom_register()
{

    if ('GET' == $_SERVER['REQUEST_METHOD']) {
        if (is_user_logged_in()) {
            $this->redirect_logged_in_user();
        } else {
            wp_redirect(home_url('member-register'));
        }
        exit;
    }
}

任何想法为什么?

2 个答案:

答案 0 :(得分:1)

"是的,如果我禁用伙伴按,它按预期工作"。然后,您必须进入zeshress设置页面并将注册页面更改为“注册”以外的其他页面,因为buddypress会自动将其注册页面设置为“注册”页面。创建一个新页面,将buddypress注册页面设置为该新页面,然后您的' / register'页面将是免费的自定义注册。

答案 1 :(得分:1)

我想补充一点,我已经找到了你提到的代码(禁用了buddypress重定向),它已经过时了。

我发现这个代码现在有用了。我正在使用最新版本的buddypress 2.9.2。

    // disable BuddyPress redirect from default reg page
function my_disable_bp_registration() {
  remove_action( 'bp_init',    'bp_core_wpsignup_redirect' );
  // remove_action( 'bp_screens', 'bp_core_screen_signup' );
}
add_action( 'bp_loaded', 'my_disable_bp_registration' );
add_filter( 'bp_get_signup_page', "firmasite_redirect_bp_signup_page");
function firmasite_redirect_bp_signup_page($page ){
    return bp_get_root_domain() . '/wp-signup.php';
}

只是想添加此内容以帮助目前遇到此问题的任何人:)

相关问题