登录注册体系的源码级硬切换
This commit is contained in:
1 parent
73fcd4ed72
commit
af52f9e94d
72 files changed
+1666
-6576
No files matched your search
@@ -149,36 +149,14 @@ endif;
|
||||
|
||||
if (!function_exists('aksrt_get_sign_page_url')) :
|
||||
/**
|
||||
* Get the unified auth page URL, with legacy route fallback while the page self-heals.
|
||||
* Get the only public authentication page URL.
|
||||
*
|
||||
* @param string $tab
|
||||
* @param array<string, scalar> $args
|
||||
*/
|
||||
function aksrt_get_sign_page_url(string $tab = 'login', array $args = []): string {
|
||||
function aksrt_get_sign_page_url(string $tab = 'signin', array $args = []): string {
|
||||
$tab = aksrt_normalize_auth_tab($tab);
|
||||
|
||||
$legacy_fallbacks = [
|
||||
'login' => home_url('/login/'),
|
||||
'register' => home_url('/register/'),
|
||||
'bind' => home_url('/bind-account/'),
|
||||
'reset-password' => home_url('/reset-password/'),
|
||||
'verify-email' => home_url('/verify-email/'),
|
||||
];
|
||||
|
||||
$page = aksrt_find_template_page('templates/pages/page-sign.php');
|
||||
if (!$page) {
|
||||
aksrt_ensure_template_page('sign');
|
||||
$page = aksrt_find_template_page('templates/pages/page-sign.php');
|
||||
}
|
||||
|
||||
if ($page instanceof WP_Post) {
|
||||
$url = get_permalink($page->ID);
|
||||
$args = ['tab' => $tab] + $args;
|
||||
return add_query_arg($args, $url);
|
||||
}
|
||||
|
||||
$url = $legacy_fallbacks[$tab] ?? home_url('/login/');
|
||||
return !empty($args) ? add_query_arg($args, $url) : $url;
|
||||
return add_query_arg(['tab' => $tab] + $args, home_url('/sign/'));
|
||||
}
|
||||
|
||||
|
||||
@@ -187,19 +165,14 @@ function aksrt_get_sign_page_url(string $tab = 'login', array $args = []): strin
|
||||
*/
|
||||
function aksrt_is_auth_page_request(): bool {
|
||||
return (bool) get_query_var('aksrt_sign')
|
||||
|| is_page_template('templates/pages/page-sign.php')
|
||||
|| is_page_template('templates/pages/page-login.php')
|
||||
|| is_page_template('templates/pages/page-register.php')
|
||||
|| is_page_template('templates/pages/page-bind-account.php')
|
||||
|| is_page_template('templates/pages/page-reset-password.php')
|
||||
|| is_page_template('templates/pages/page-verify-email.php');
|
||||
|| is_page_template('templates/pages/page-sign.php');
|
||||
}
|
||||
endif;
|
||||
|
||||
if (!function_exists('aksrt_get_login_url')) :
|
||||
/** 获取登录页 URL */
|
||||
function aksrt_get_login_url($redirect = '') {
|
||||
$url = aksrt_get_sign_page_url('login');
|
||||
$url = aksrt_get_sign_page_url('signin');
|
||||
if ($redirect) {
|
||||
$url = add_query_arg('redirect_to', urlencode($redirect), $url);
|
||||
}
|
||||
@@ -210,14 +183,14 @@ endif;
|
||||
if (!function_exists('aksrt_get_register_url')) :
|
||||
/** 获取注册页 URL */
|
||||
function aksrt_get_register_url() {
|
||||
return aksrt_get_sign_page_url('register');
|
||||
return aksrt_get_sign_page_url('signup');
|
||||
}
|
||||
endif;
|
||||
|
||||
if (!function_exists('aksrt_get_bind_url')) :
|
||||
/** 获取绑定账号页面 URL */
|
||||
function aksrt_get_bind_url($transient_key = '') {
|
||||
$url = aksrt_get_template_url('bind');
|
||||
$url = aksrt_get_sign_page_url('bind');
|
||||
if ($transient_key) {
|
||||
$url = add_query_arg('obk', $transient_key, $url);
|
||||
}
|
||||
@@ -226,24 +199,12 @@ function aksrt_get_bind_url($transient_key = '') {
|
||||
endif;
|
||||
|
||||
if (!function_exists('aksrt_get_logout_url')) :
|
||||
/**
|
||||
* 获取退出登录 URL。
|
||||
*
|
||||
* Prefer query-arg form so logout works even when /logout/ rewrite is missing
|
||||
* (Apache would 404 the pretty path before WordPress runs). Pretty /logout/
|
||||
* remains registered as a convenience alias.
|
||||
*
|
||||
* @param string $redirect Redirect after logout.
|
||||
*/
|
||||
/** 获取唯一退出登录 URL。 */
|
||||
function aksrt_get_logout_url($redirect = '') {
|
||||
$target = is_string($redirect) && $redirect !== '' ? $redirect : home_url('/');
|
||||
// home_url('/?aksrt_logout=1') always hits index.php without rewrite rules.
|
||||
$url = add_query_arg(
|
||||
[
|
||||
'aksrt_logout' => '1',
|
||||
'redirect_to' => $target,
|
||||
],
|
||||
home_url('/')
|
||||
['redirect_to' => $target],
|
||||
home_url('/logout/')
|
||||
);
|
||||
return wp_nonce_url($url, 'aksrt-logout');
|
||||
}
|
||||
@@ -253,33 +214,10 @@ if (!function_exists('aksrt_get_reset_password_url')) :
|
||||
/**
|
||||
* 获取重置密码页面 URL
|
||||
*
|
||||
* @param string $token 主题重置 token(可选,设置密码时需要)
|
||||
* @param int $user_id 用户 ID(可选,设置密码时需要)
|
||||
* @return string
|
||||
*/
|
||||
function aksrt_get_reset_password_url(string $token = '', int $user_id = 0): string {
|
||||
$url = aksrt_get_template_url('reset-password');
|
||||
if ($token !== '' && $user_id > 0) {
|
||||
$url = add_query_arg([
|
||||
'token' => $token,
|
||||
'uid' => $user_id,
|
||||
], $url);
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
endif;
|
||||
|
||||
if (!function_exists('aksrt_get_verify_email_url')) :
|
||||
/** 获取邮箱验证页面 URL */
|
||||
function aksrt_get_verify_email_url(int $user_id = 0, array $args = []): string {
|
||||
$url = aksrt_get_template_url('verify-email');
|
||||
if ($user_id > 0) {
|
||||
$args['uid'] = $user_id;
|
||||
}
|
||||
if (!empty($args)) {
|
||||
$url = add_query_arg($args, $url);
|
||||
}
|
||||
return $url;
|
||||
function aksrt_get_reset_password_url(): string {
|
||||
return aksrt_get_sign_page_url('resetpassword');
|
||||
}
|
||||
endif;
|
||||
|
||||
|
||||
Reference in new issue
Block a user