[英]Redirect user to prev page when going to wp/login.php
我正在使用登錄/注冊彈出插件進行身份驗證流程,但默認表單仍處於打開狀態。 插件鏈接: https://wordpress.org/plugins/easy-login-woocommerce/
此插件需要用戶的名字、姓氏、用戶名、email、密碼,並同意條款和條件。 默認表單不需要上述所有字段。
In order to keep consistent info about all members, I am trying to redirect people who go to /wp-login.php, /wp-login.php?action=register, /wp-login.php?action=lostpassword to previous page並將“#login”添加到該頁面的鏈接。
將#login 或#register 添加到鏈接會彈出登錄/注冊彈出窗口。
我正在嘗試編寫一個可以添加到自定義插件文件的 function。 以下是我到目前為止的內容,但我不確定如何獲取鏈接並將#login 添加到其中。 另外,我不確定我是否使用了正確的鈎子。
function redirect_login_to_prev_page() {
$restrictions = array(
'/wp-admin/',
'/wp-login.php*'
);
foreach ( $restrictions as $restriction ) {
//get link of prev page
//add #login to that link
//redirect the user to that link
}
}
add_action( 'admin_init', 'restrict_admin_with_redirect' );
另外,這是這樣做的好方法還是我應該做其他事情?
感謝您的幫助!
這是應該為您工作的代碼。 將其放在您的子主題的 functions.php 文件中,或使用任何片段插件並將其添加到該插件中。
// Hook the appropriate WordPress action
add_action('init', 'redirect_wp_login');
function redirect_wp_login() {
// WP tracks the current page - global variable to access it
global $pagenow;
// Check if we're on the login page
if($pagenow == 'wp-login.php' && isset($_SERVER['HTTP_REFERER'])) {
$previous = $_SERVER['HTTP_REFERER'];
// Redirect with #login added
wp_redirect($previous.'#login');
// Stop execution to prevent the page from loading for any reason
exit();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.