diff --git a/dabestaniha-authenticate-bridge.php b/dabestaniha-authenticate-bridge.php
index 41012d3..6da28b0 100644
--- a/dabestaniha-authenticate-bridge.php
+++ b/dabestaniha-authenticate-bridge.php
@@ -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();
});
diff --git a/settings-page.php b/settings-page.php
index 7232c73..92a28a3 100644
--- a/settings-page.php
+++ b/settings-page.php
@@ -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 '
';
- echo '' . home_url('/') . '';
+ echo ''.home_url('/').'';
+ echo "";
+ echo '
';
+ },
+ 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 '';
+ echo ''.home_url('/').'';
echo "";
echo '
';
},
@@ -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, '/');
});
});
diff --git a/src/configs/da.php b/src/configs/da.php
index ee684a1..dab24f6 100644
--- a/src/configs/da.php
+++ b/src/configs/da.php
@@ -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' => 'کاربر جدید',
],