我添加了代码,将用户从WP登录页面转移到functions.php文件中的woocomece登录页面,但现在登录后会出现一个空白屏幕
我正在使用OceanWP主题、WP作业管理器和woocommerce插件构建WordPress网站 由于许多WP job manager链接将用户转移到默认的Wordpress登录页面,我希望所有用户都使用woocommerce登录页面登录,因此我在functions.php文件中添加了以下代码:我添加了代码,将用户从WP登录页面转移到functions.php文件中的woocomece登录页面,但现在登录后会出现一个空白屏幕,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我正在使用OceanWP主题、WP作业管理器和woocommerce插件构建WordPress网站 由于许多WP job manager链接将用户转移到默认的Wordpress登录页面,我希望所有用户都使用woocommerce登录页面登录,因此我在functions.php文件中添加了以下代码: /** * direct users to woocommerce login page */ add_filter( 'login_url', 'my_login_page', 10, 2 );
/**
* direct users to woocommerce login page
*/
add_filter( 'login_url', 'my_login_page', 10, 2 );
function my_login_page( $login_url, $redirect ) {
return home_url( '/my-account/?redirect_to=' . $redirect );
}
/** Log in redirect to previous page by logicdigger **/
// start global session for saving the referer url
function start_session() {
if(!session_id()) {
session_start();
}
}
add_action('init', 'start_session', 1);
// get the referer url and save it to the session
function redirect_url() {
if (! is_user_logged_in()) {
$_SESSION['referer_url'] = wp_get_referer();
} else {
session_destroy();
}
}
add_action( 'template_redirect', 'redirect_url' );
//login redirect to referer url
function login_redirect() {
if (isset($_SESSION['referer_url'])) {
wp_redirect($_SESSION['referer_url']);
} else {
wp_redirect(home_url());
}
}
add_filter('woocommerce_login_redirect', 'login_redirect', 1100, 2);
它似乎工作正常,将所有用户转移到woocommerce登录页面,但我的问题是,当用户使用woocommerce登录页面登录时,他们会看到一个空白的白色屏幕,即使URL是“www.mywebsite.com/my account”,这是我的帐户页面的正确URL
…但是当我刷新页面时,页面会重定向到用户以前所在的页面,这就是我希望它工作的方式
我只是想知道登录后的空白屏幕可能是什么原因?
我已清除缓存并重试,但同样的情况也发生了。我真的不知道是什么引起的
非常感谢
…但是当我刷新页面时,页面会重定向到用户以前所在的页面,这就是我希望它工作的方式
我测试了你的代码片段,得到了相同的结果
问题:
使用WooCommerce登录表单后,为什么要使用其余函数来处理会话?我认为WooCommerce是为您而做的,因此我考虑使用:
/**
* direct users to woocommerce login page
*/
add_filter( 'login_url', 'my_login_page', 10, 2 );
function my_login_page( $login_url, $redirect ) {
return home_url( '/my-account/?redirect_to=' . $redirect );
}
应该足够了,不(?)我想你应该检查一下日志。嗨,谢谢你。我之所以使用其他功能,是因为woocommerce登录总是让用户在登录后进入“我的帐户”页面,除非他们正在执行签出过程,但由于我使用wp job manager,我希望用户返回“发布作业”页面,例如,如果他们在登录前尝试发布作业。如果这有道理的话。所以我需要这个场景的其他功能。>f他们试图在登录之前发布作业。如果这有道理的话。所以我需要这个场景的其他函数完全有道理。怎么样:?它使用
login\u redirect
,这听起来像是更好的过滤器。