implement after-login-route setting

This commit is contained in:
2025-07-17 18:20:47 +03:30
parent f1ecb8a2a8
commit 59b9f35537
3 changed files with 33 additions and 7 deletions
+4 -1
View File
@@ -32,7 +32,10 @@ add_action('init', function () {
$user_id = find_or_create_user($identifier_name, $identifier_value, $name);
login_user($user_id);
wp_redirect(home_url('/dashboard'));
$redirect_path = get_configured_option('after-login-route');
wp_redirect(home_url($redirect_path));
exit();
});
+25 -5
View File
@@ -12,9 +12,9 @@ add_action('admin_menu', function () {
add_action('admin_init', function () {
register_setting(config('da.settings-group'), config('da.options.jwt-secret'));
register_setting(config('da.settings-group'), config('da.options.user-identifier'));
register_setting(config('da.settings-group'), config('da.options.login-route'));
foreach (config('da.options') as $configured => $options_key) {
register_setting(config('da.settings-group'), $options_key);
}
add_settings_section(
config('da.section-id'),
@@ -64,7 +64,22 @@ add_action('admin_init', function () {
$name = config('da.options.login-route');
$value = esc_attr(get_option($name, config('da.login_route_default')));
echo '<div class="ltr" style="float: right; display: flex; align-items: center; gap: 5px;">';
echo '<span style="color: #666;">' . home_url('/') . '</span>';
echo '<span style="color: #666;">'.home_url('/').'</span>';
echo "<input type='text' name='$name' value='$value' class='regular-text' />";
echo '</div>';
},
config('da.settings-page'),
config('da.section-id')
);
add_settings_field(
config('da.options.after-login-route'),
config('da.translations.after-login-route'),
function () {
$name = config('da.options.after-login-route');
$value = esc_attr(get_option($name, config('da.after_login_route_default')));
echo '<div class="ltr" style="float: right; display: flex; align-items: center; gap: 5px;">';
echo '<span style="color: #666;">'.home_url('/').'</span>';
echo "<input type='text' name='$name' value='$value' class='regular-text' />";
echo '</div>';
},
@@ -74,7 +89,12 @@ add_action('admin_init', function () {
$loginRouteOptionName = config('da.options.login-route');
add_filter("pre_update_option_{$loginRouteOptionName}", function ($value) {
return trim($value, '/');
return trim($value, '/');
});
$afterLoginRouteOptionName = config('da.options.after-login-route');
add_filter("pre_update_option_{$afterLoginRouteOptionName}", function ($value) {
return trim($value, '/');
});
});
+4 -1
View File
@@ -10,6 +10,7 @@ return [
'jwt-secret' => 'da_jwt_secret',
'user-identifier' => 'da_user_identifier',
'login-route' => 'da_login_route',
'after-login-route' => 'da_after_login_route',
],
'user-identifiers' => [
@@ -19,6 +20,7 @@ return [
],
'login_route_default' => 'dabestaniha/login',
'after_login_route_default' => 'dashboard',
'translations' => [
'mobile' => 'تلفن همراه',
@@ -31,7 +33,8 @@ return [
'jwt-secret' => 'کلید JWT',
'user-identifier' => 'فیلد شناسایی کاربر',
'login-route' => 'آدرس لاگین دبستانی ها',
'login-route' => 'مسیر لاگین دبستانی ها',
'after-login-route' => 'مسیر بعد از لاگین',
'new-user' => 'کاربر جدید',
],