Landing page with login

时间:2012-12-14 作者:icemanhx

我希望能够强制任何未注册的用户访问/欢迎页面-目前我已设置以下内容:

if ( trim( $_SERVER[\'REQUEST_URI\'], \'/\' ) != \'welcome\' && ! is_user_logged_in() ) {

wp_redirect( home_url( \'welcome\' ), 301 );

exit;

}
这会自动将访问者重新定向到/欢迎页面。在欢迎页面上,我有一个登录表单,但是用户无法登录,因为在他们点击提交按钮后,它会将他们重定向回欢迎页面。我如何设置它,使他们可以通过欢迎页面登录,然后在成功登录后重新定向到主页?

2 个回复
SO网友:Sisir

Try this: 粘贴到functions.php (未测试)

add_action(\'template_redirect\', \'my_user_redirect\');

function my_user_redirect(){
  if(!is_user_logged_in()){ // only redirect use not logged in
    wp_redirect( home_url( \'welcome\' ), 301 );
    exit;
  }
}
如果有效,请告诉我。

SO网友:fluxcapacitor

我使用了您成功使用的代码,但没有登录登录到登录页。相反,我添加了一个指向wp登录的链接。我使用WPF登录标记的php。你能不能不这样做?

结束

相关推荐

GET_TEMPLATE_DIRECTORY()VS BLOGINO(‘TEMPLATORIRECTORY’)VS TEMPLATEPATH

我在读这篇文章:Common WordPress Development Mistakes and How to Fix Them, 他们在书中写道:获取主题位置:如果您使用的是TEMPLATEPATH或bloginfo(“template\\u目录”)。Stop! 您应该使用非常有用的get\\u template\\u directory(),如上面的示例所示。但他没有详细说明。有什么不好的bloginfo()?