Change wp-admin login - Version 1.0.1

Version Description

  • Add automatic redirect for when someone tries to access the wp-login.php page or the wp-admin directory while not logged in will be redirected to the website homepage.
Download this release

Release Info

Developer nunosarmento
Plugin Icon 128x128 Change wp-admin login
Version 1.0.1
Comparing to
See all releases

Version 1.0.1

assets/images/banner-1544x500.png ADDED
Binary file
assets/images/banner-772x250.png ADDED
Binary file
assets/images/icon-128x128.png ADDED
Binary file
assets/images/icon-256x256.png ADDED
Binary file
assets/images/screenshot-1.png ADDED
Binary file
assets/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ # Silence is golden.
change-wp-admin-login.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Change wp-admin login
4
+ Plugin URI: https://wordpress.org/plugins/change-wp-admin-login/
5
+ Description: Change wp-admin login to whatever you want. example: http://www.example.com/my-login. Go under Settings and then click on "Permalinks" and change your URL under "Change wp-admin login".
6
+ Version: 1.0.1
7
+ Author: Nuno Morais Sarmento
8
+ Author URI: https://www.nuno-sarmento.com
9
+ Text Domain: change-wp-admin-login
10
+ Domain Path: /languages
11
+ License: GPL2
12
+
13
+ Copyright 2019 Nuno Morais Sarmento (email : hello@nuno-sarmento.com)
14
+
15
+ This program is free software; you can redistribute it and/or modify
16
+ it under the terms of the GNU General Public License, version 2, as
17
+ published by the Free Software Foundation.
18
+
19
+ This program is distributed in the hope that it will be useful,
20
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
21
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
+ GNU General Public License for more details.
23
+
24
+ You should have received a copy of the GNU General Public License
25
+ along with this program; if not, write to the Free Software
26
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
27
+ */
28
+
29
+ /* Do not access this file directly */
30
+
31
+ defined('ABSPATH') or die('°_°’');
32
+
33
+
34
+ /* ------------------------------------------
35
+ // Constants ---------------------------
36
+ --------------------------------------------- */
37
+
38
+ /* Set plugin version constant. */
39
+
40
+ if( ! defined( 'NS_Change_WP_Admin_Login_Version' ) ) {
41
+ define( 'NS_Change_WP_Admin_Login_Version', '1.0.0' );
42
+ }
43
+
44
+ /* Set plugin name. */
45
+
46
+ if( ! defined( 'NS_Change_WP_Admin_Login_Name' ) ) {
47
+ define( 'NS_Change_WP_Admin_Login_Name', 'Change wp-admin login' );
48
+ }
49
+
50
+ /* Set constant path to the plugin directory. */
51
+
52
+ if ( ! defined( 'NS_Change_WP_Admin_Login_Path' ) ) {
53
+ define( 'NS_Change_WP_Admin_Login_Path', plugin_dir_path( __FILE__ ) );
54
+ }
55
+
56
+ /* Set the constant path to the plugin directory URI. */
57
+
58
+ if ( ! defined( 'NS_Change_WP_Admin_Login_Base_Uri' ) ) {
59
+ define( 'NS_Change_WP_Admin_Login_Base_Uri', plugin_dir_url( __FILE__ ) );
60
+ }
61
+
62
+ /* ------------------------------------------
63
+ // i18n ----------------------------
64
+ --------------------------------------------- */
65
+ load_plugin_textdomain( 'change-wp-admin-login', false, basename( dirname( __FILE__ ) ) . '/languages' );
66
+
67
+ /* ------------------------------------------
68
+ // Includes ---------------------------
69
+ --------------------------------------------- */
70
+ if ( ! @include( 'class-change-wp-admin-login.php' ) ) {
71
+ require_once( NS_Change_WP_Admin_Login_Path . 'includes/class-change-wp-admin-login.php' );
72
+ }
includes/class-change-wp-admin-login.php ADDED
@@ -0,0 +1,374 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php defined('ABSPATH') or die();
2
+
3
+
4
+ if ( defined( 'ABSPATH' ) && ! class_exists( 'Change_WP_Admin_Login' ) ) {
5
+
6
+ class Change_WP_Admin_Login {
7
+ private $wp_login_php;
8
+
9
+ private function basename() {
10
+ return plugin_basename( __FILE__ );
11
+ }
12
+
13
+ private function path() {
14
+ return trailingslashit( dirname( __FILE__ ) );
15
+ }
16
+
17
+ private function use_trailing_slashes() {
18
+ return '/' === substr( get_option( 'permalink_structure' ), -1, 1 );
19
+ }
20
+
21
+ private function user_trailingslashit( $string ) {
22
+ return $this->use_trailing_slashes() ? trailingslashit( $string ) : untrailingslashit( $string );
23
+ }
24
+
25
+ private function wp_template_loader() {
26
+ global $pagenow;
27
+
28
+ $pagenow = 'index.php';
29
+
30
+ if ( ! defined( 'WP_USE_THEMES' ) ) {
31
+ define( 'WP_USE_THEMES', true );
32
+ }
33
+
34
+ wp();
35
+
36
+ if ( $_SERVER['REQUEST_URI'] === $this->user_trailingslashit( str_repeat( '-/', 10 ) ) ) {
37
+ $_SERVER['REQUEST_URI'] = $this->user_trailingslashit( '/wp-login-php/' );
38
+ }
39
+
40
+ require_once( ABSPATH . WPINC . '/template-loader.php' );
41
+
42
+ die;
43
+ }
44
+
45
+ private function new_login_slug() {
46
+ if (
47
+ ( $slug = get_option( 'rwl_page' ) ) || (
48
+ is_multisite() &&
49
+ is_plugin_active_for_network( $this->basename() ) &&
50
+ ( $slug = get_site_option( 'rwl_page', 'login' ) )
51
+ ) ||
52
+ ( $slug = 'login' )
53
+ ) {
54
+ return $slug;
55
+ }
56
+ }
57
+
58
+ public function new_login_url( $scheme = null ) {
59
+ if ( get_option( 'permalink_structure' ) ) {
60
+ return $this->user_trailingslashit( home_url( '/', $scheme ) . $this->new_login_slug() );
61
+ } else {
62
+ return home_url( '/', $scheme ) . '?' . $this->new_login_slug();
63
+ }
64
+ }
65
+
66
+ public function __construct() {
67
+ global $wp_version;
68
+
69
+ if ( version_compare( $wp_version, '4.0-RC1-src', '<' ) ) {
70
+ add_action( 'admin_notices', array( $this, 'admin_notices_incompatible' ) );
71
+ add_action( 'network_admin_notices', array( $this, 'admin_notices_incompatible' ) );
72
+
73
+ return;
74
+ }
75
+
76
+ register_activation_hook( $this->basename(), array( $this, 'activate' ) );
77
+ register_uninstall_hook( $this->basename(), array( 'Change_WP_Admin_Login', 'uninstall' ) );
78
+
79
+ add_action( 'admin_init', array( $this, 'admin_init' ) );
80
+ add_action( 'admin_notices', array( $this, 'admin_notices' ) );
81
+ add_action( 'network_admin_notices', array( $this, 'admin_notices' ) );
82
+
83
+ if ( is_multisite() && ! function_exists( 'is_plugin_active_for_network' ) ) {
84
+ require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
85
+ }
86
+
87
+ add_filter( 'plugin_action_links_' . $this->basename(), array( $this, 'plugin_action_links' ) );
88
+
89
+ if ( is_multisite() && is_plugin_active_for_network( $this->basename() ) ) {
90
+ add_filter( 'network_admin_plugin_action_links_' . $this->basename(), array( $this, 'plugin_action_links' ) );
91
+
92
+ add_action( 'wpmu_options', array( $this, 'wpmu_options' ) );
93
+ add_action( 'update_wpmu_options', array( $this, 'update_wpmu_options' ) );
94
+ }
95
+
96
+ add_action( 'plugins_loaded', array( $this, 'plugins_loaded' ), 1 );
97
+ add_action( 'wp_loaded', array( $this, 'wp_loaded' ) );
98
+
99
+ add_filter( 'site_url', array( $this, 'site_url' ), 10, 4 );
100
+ add_filter( 'network_site_url', array( $this, 'network_site_url' ), 10, 3 );
101
+ add_filter( 'wp_redirect', array( $this, 'wp_redirect' ), 10, 2 );
102
+
103
+ add_filter( 'site_option_welcome_email', array( $this, 'welcome_email' ) );
104
+
105
+ remove_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 );
106
+ }
107
+
108
+ public function admin_notices_incompatible() {
109
+ echo '<div class="error"><p>' . sprintf( __( 'Please upgrade to the latest version of WordPress to activate %s.', 'change-wp-admin-login' ), '<strong>' . __( 'Change wp-admin login', 'change-wp-admin-login' ) . '</strong>' ) . '</p></div>';
110
+ }
111
+
112
+ public function activate() {
113
+ add_option( 'rwl_redirect', '1' );
114
+ delete_option( 'rwl_admin' );
115
+ }
116
+
117
+ public static function uninstall() {
118
+ global $wpdb;
119
+
120
+ if ( is_multisite() ) {
121
+ $blogs = $wpdb->get_col( "SELECT blog_id FROM {$wpdb->blogs}" );
122
+
123
+ if ( $blogs ) {
124
+ foreach ( $blogs as $blog ) {
125
+ switch_to_blog( $blog );
126
+ delete_option( 'rwl_page' );
127
+ }
128
+
129
+ restore_current_blog();
130
+ }
131
+
132
+ delete_site_option( 'rwl_page' );
133
+ } else {
134
+ delete_option( 'rwl_page' );
135
+ }
136
+ }
137
+
138
+ public function wpmu_options() {
139
+ $out = '';
140
+
141
+ $out .= '<h3>' . __( 'Change wp-admin login', 'change-wp-admin-login' ) . '</h3>';
142
+ $out .= '<p>' . __( 'This option allows you to set a networkwide default, which can be overridden by individual sites. Simply go to to the site’s permalink settings to change the url.', 'change-wp-admin-login' ) . '</p>';
143
+ $out .= '<table class="form-table">';
144
+ $out .= '<tr valign="top">';
145
+ $out .= '<th scope="row">' . __( 'Networkwide default', 'change-wp-admin-login' ) . '</th>';
146
+ $out .= '<td><input id="rwl-page-input" type="text" name="rwl_page" value="' . get_site_option( 'rwl_page', 'login' ) . '"></td>';
147
+ $out .= '</tr>';
148
+ $out .= '</table>';
149
+
150
+ echo $out;
151
+ }
152
+
153
+ public function update_wpmu_options() {
154
+ if (
155
+ ( $rwl_page = sanitize_title_with_dashes( $_POST['rwl_page'] ) ) &&
156
+ strpos( $rwl_page, 'wp-login' ) === false &&
157
+ ! in_array( $rwl_page, $this->forbidden_slugs() )
158
+ ) {
159
+ update_site_option( 'rwl_page', $rwl_page );
160
+ }
161
+ }
162
+
163
+ public function admin_init() {
164
+ global $pagenow;
165
+
166
+ add_settings_section(
167
+ 'change-wp-admin-login-section',
168
+ __( 'Change wp-admin login', 'change-wp-admin-login' ),
169
+ array( $this, 'rwl_section_desc' ),
170
+ 'permalink'
171
+ );
172
+
173
+ add_settings_field(
174
+ 'rwl-page',
175
+ '<label for="rwl-page">' . __( 'Login url', 'change-wp-admin-login' ) . '</label>',
176
+ array( $this, 'rwl_page_input' ),
177
+ 'permalink',
178
+ 'change-wp-admin-login-section'
179
+ );
180
+
181
+ if ( isset( $_POST['rwl_page'] ) && $pagenow === 'options-permalink.php' ) {
182
+ if (
183
+ ( $rwl_page = sanitize_title_with_dashes( $_POST['rwl_page'] ) ) &&
184
+ strpos( $rwl_page, 'wp-login' ) === false &&
185
+ ! in_array( $rwl_page, $this->forbidden_slugs() )
186
+ ) {
187
+ if ( is_multisite() && $rwl_page === get_site_option( 'rwl_page', 'login' ) ) {
188
+ delete_option( 'rwl_page' );
189
+ } else {
190
+ update_option( 'rwl_page', $rwl_page );
191
+ }
192
+ }
193
+ }
194
+
195
+ if ( get_option( 'rwl_redirect' ) ) {
196
+ delete_option( 'rwl_redirect' );
197
+
198
+ if ( is_multisite() && is_super_admin() && is_plugin_active_for_network( $this->basename() ) ) {
199
+ $redirect = network_admin_url( 'settings.php#rwl-page-input' );
200
+ } else {
201
+ $redirect = admin_url( 'options-permalink.php#rwl-page-input' );
202
+ }
203
+
204
+ wp_safe_redirect( $redirect );
205
+
206
+ die;
207
+ }
208
+ }
209
+
210
+ public function rwl_section_desc() {
211
+ $out = '';
212
+
213
+ if ( is_multisite() && is_super_admin() && is_plugin_active_for_network( $this->basename() ) ) {
214
+ $out .= '<p>' . sprintf( __( 'To set a networkwide default, go to %s.', 'change-wp-admin-login' ), '<a href="' . network_admin_url( 'settings.php#rwl-page-input' ) . '">' . __( 'Network Settings', 'change-wp-admin-login' ) . '</a>') . '</p>';
215
+ }
216
+
217
+ echo $out;
218
+ }
219
+
220
+ public function rwl_page_input() {
221
+ if ( get_option( 'permalink_structure' ) ) {
222
+ echo '<code>' . trailingslashit( home_url() ) . '</code> <input id="rwl-page-input" type="text" name="rwl_page" value="' . $this->new_login_slug() . '">' . ( $this->use_trailing_slashes() ? ' <code>/</code>' : '' );
223
+ } else {
224
+ echo '<code>' . trailingslashit( home_url() ) . '?</code> <input id="rwl-page-input" type="text" name="rwl_page" value="' . $this->new_login_slug() . '">';
225
+ }
226
+ echo '<p class="description"><strong>' . __( 'Note: When someone tries to access the wp-login.php page or the wp-admin directory while not logged in will be redirected to the website homepage.', 'change-wp-admin-login' ) . '</strong></p>';
227
+ }
228
+
229
+ public function admin_notices() {
230
+ global $pagenow;
231
+
232
+ if ( ! is_network_admin() && $pagenow === 'options-permalink.php' && isset( $_GET['settings-updated'] ) ) {
233
+ echo '<div class="updated"><p>' . sprintf( __( 'Your login page is now here: %s. Bookmark this page!', 'change-wp-admin-login' ), '<strong><a href="' . $this->new_login_url() . '">' . $this->new_login_url() . '</a></strong>' ) . '</p></div>';
234
+ }
235
+ }
236
+
237
+ public function plugin_action_links( $links ) {
238
+ if ( is_network_admin() && is_plugin_active_for_network( $this->basename() ) ) {
239
+ array_unshift( $links, '<a href="' . network_admin_url( 'settings.php#rwl-page-input' ) . '">' . __( 'Settings', 'change-wp-admin-login' ) . '</a>' );
240
+ } elseif ( ! is_network_admin() ) {
241
+ array_unshift( $links, '<a href="' . admin_url( 'options-permalink.php#rwl-page-input' ) . '">' . __( 'Settings', 'change-wp-admin-login' ) . '</a>' );
242
+ }
243
+
244
+ return $links;
245
+ }
246
+
247
+ public function plugins_loaded() {
248
+ global $pagenow;
249
+
250
+ load_plugin_textdomain( 'change-wp-admin-login' );
251
+
252
+ if (
253
+ ! is_multisite() && (
254
+ strpos( $_SERVER['REQUEST_URI'], 'wp-signup' ) !== false ||
255
+ strpos( $_SERVER['REQUEST_URI'], 'wp-activate' ) !== false
256
+ )
257
+ ) {
258
+ wp_die( __( 'This feature is not enabled.', 'change-wp-admin-login' ) );
259
+ }
260
+
261
+ $request = parse_url( $_SERVER['REQUEST_URI'] );
262
+
263
+ if ( (
264
+ strpos( $_SERVER['REQUEST_URI'], 'wp-login.php' ) !== false ||
265
+ untrailingslashit( $request['path'] ) === site_url( 'wp-login', 'relative' )
266
+ ) &&
267
+ ! is_admin()
268
+ ) {
269
+ $this->wp_login_php = true;
270
+ $_SERVER['REQUEST_URI'] = $this->user_trailingslashit( '/' . str_repeat( '-/', 10 ) );
271
+ $pagenow = 'index.php';
272
+ } elseif (
273
+ untrailingslashit( $request['path'] ) === home_url( $this->new_login_slug(), 'relative' ) || (
274
+ ! get_option( 'permalink_structure' ) &&
275
+ isset( $_GET[$this->new_login_slug()] ) &&
276
+ empty( $_GET[$this->new_login_slug()] )
277
+ ) ) {
278
+ $pagenow = 'wp-login.php';
279
+ }
280
+ }
281
+
282
+ public function wp_loaded() {
283
+ global $pagenow;
284
+
285
+ if ( is_admin() && ! is_user_logged_in() && ! defined( 'DOING_AJAX' ) ) {
286
+ $url = '/';
287
+ wp_redirect($url);
288
+ die();
289
+ //wp_die( __( 'You must log in to access the admin area.', 'change-wp-admin-login' ) );
290
+ }
291
+
292
+ $request = parse_url( $_SERVER['REQUEST_URI'] );
293
+
294
+ if (
295
+ $pagenow === 'wp-login.php' &&
296
+ $request['path'] !== $this->user_trailingslashit( $request['path'] ) &&
297
+ get_option( 'permalink_structure' )
298
+ ) {
299
+ wp_safe_redirect( $this->user_trailingslashit( $this->new_login_url() ) . ( ! empty( $_SERVER['QUERY_STRING'] ) ? '?' . $_SERVER['QUERY_STRING'] : '' ) );
300
+ die;
301
+ } elseif ( $this->wp_login_php ) {
302
+ if (
303
+ ( $referer = wp_get_referer() ) &&
304
+ strpos( $referer, 'wp-activate.php' ) !== false &&
305
+ ( $referer = parse_url( $referer ) ) &&
306
+ ! empty( $referer['query'] )
307
+ ) {
308
+ parse_str( $referer['query'], $referer );
309
+
310
+ if (
311
+ ! empty( $referer['key'] ) &&
312
+ ( $result = wpmu_activate_signup( $referer['key'] ) ) &&
313
+ is_wp_error( $result ) && (
314
+ $result->get_error_code() === 'already_active' ||
315
+ $result->get_error_code() === 'blog_taken'
316
+ ) ) {
317
+ wp_safe_redirect( $this->new_login_url() . ( ! empty( $_SERVER['QUERY_STRING'] ) ? '?' . $_SERVER['QUERY_STRING'] : '' ) );
318
+ die;
319
+ }
320
+ }
321
+
322
+ $this->wp_template_loader();
323
+ } elseif ( $pagenow === 'wp-login.php' ) {
324
+ global $error, $interim_login, $action, $user_login;
325
+
326
+ @require_once ABSPATH . 'wp-login.php';
327
+
328
+ die;
329
+ }
330
+ }
331
+
332
+ public function site_url( $url, $path, $scheme, $blog_id ) {
333
+ return $this->filter_wp_login_php( $url, $scheme );
334
+ }
335
+
336
+ public function network_site_url( $url, $path, $scheme ) {
337
+ return $this->filter_wp_login_php( $url, $scheme );
338
+ }
339
+
340
+ public function wp_redirect( $location, $status ) {
341
+ return $this->filter_wp_login_php( $location );
342
+ }
343
+
344
+ public function filter_wp_login_php( $url, $scheme = null ) {
345
+ if ( strpos( $url, 'wp-login.php' ) !== false ) {
346
+ if ( is_ssl() ) {
347
+ $scheme = 'https';
348
+ }
349
+
350
+ $args = explode( '?', $url );
351
+
352
+ if ( isset( $args[1] ) ) {
353
+ parse_str( $args[1], $args );
354
+ $url = add_query_arg( $args, $this->new_login_url( $scheme ) );
355
+ } else {
356
+ $url = $this->new_login_url( $scheme );
357
+ }
358
+ }
359
+
360
+ return $url;
361
+ }
362
+
363
+ public function welcome_email( $value ) {
364
+ return $value = str_replace( 'wp-login.php', trailingslashit( get_site_option( 'rwl_page', 'login' ) ), $value );
365
+ }
366
+
367
+ public function forbidden_slugs() {
368
+ $wp = new WP;
369
+ return array_merge( $wp->public_query_vars, $wp->private_query_vars );
370
+ }
371
+ }
372
+
373
+ new Change_WP_Admin_Login;
374
+ }
includes/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ # Silence is golden.
index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ # Silence is golden.
languages/change-wp-admin-login-es.mo ADDED
Binary file
languages/change-wp-admin-login-es.po ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Change wp-admin login\n"
4
+ "POT-Creation-Date: 2019-02-26 20:22+0000\n"
5
+ "PO-Revision-Date: \n"
6
+ "Language-Team: \n"
7
+ "MIME-Version: 1.0\n"
8
+ "Content-Type: text/plain; charset=UTF-8\n"
9
+ "Content-Transfer-Encoding: 8bit\n"
10
+ "X-Generator: Poedit 2.4.2\n"
11
+ "X-Poedit-Basepath: .\n"
12
+ "X-Poedit-KeywordsList: _e;__\n"
13
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
14
+ "Last-Translator: \n"
15
+ "Language: es\n"
16
+ "X-Poedit-SearchPath-0: ..\n"
17
+
18
+ #: ../includes/class-change-wp-admin-login.php:109
19
+ msgid "Please upgrade to the latest version of WordPress to activate"
20
+ msgstr "Por favor, actualiza a la última versión de WordPress para activarlo"
21
+
22
+ #. Plugin Name
23
+ #: ../includes/class-change-wp-admin-login.php:109
24
+ #: ../includes/class-change-wp-admin-login.php:141
25
+ #: ../includes/class-change-wp-admin-login.php:168
26
+ msgid "Change wp-admin login"
27
+ msgstr "Change wp-admin login"
28
+
29
+ #: ../includes/class-change-wp-admin-login.php:142
30
+ msgid ""
31
+ "This option allows you to set a networkwide default, which can be overridden "
32
+ "by individual sites. Simply go to to the site’s permalink settings to change "
33
+ "the url."
34
+ msgstr ""
35
+ "Esta opción te permite establecer un valor por defecto para toda la red, que "
36
+ "puede ser reemplazado para sitios concretos. Simplemente ve a los ajustes de "
37
+ "los enlaces permanentes del sitio para cambiar la URL."
38
+
39
+ #: ../includes/class-change-wp-admin-login.php:145
40
+ msgid "Networkwide default"
41
+ msgstr "Valor por defecto para toda la red"
42
+
43
+ #: ../includes/class-change-wp-admin-login.php:175
44
+ msgid "Login url"
45
+ msgstr "URL de acceso"
46
+
47
+ #: ../includes/class-change-wp-admin-login.php:214
48
+ #, php-format
49
+ msgid ""
50
+ "To set a networkwide default, go to <a href=\"%s\">Network Settings</a>."
51
+ msgstr ""
52
+ "Para configurar ajustes por defecto para toda la red ve a los <a href=\\”%s"
53
+ "\\”>Configuración de la red</a>."
54
+
55
+ #: ../includes/class-change-wp-admin-login.php:233
56
+ #, php-format
57
+ msgid ""
58
+ "Your login page is now here: <strong><a href=\"%1$s\">%2$s</a></strong>. "
59
+ "Bookmark this page!"
60
+ msgstr ""
61
+ "Ahora tu página de acceso está aquí: <strong><a href=\\”%1$s\\”>%2$s</a></"
62
+ "strong>. ¡Guarda esta página en tus favoritos!"
63
+
64
+ #: ../includes/class-change-wp-admin-login.php:239
65
+ #: ../includes/class-change-wp-admin-login.php:241
66
+ msgid "Settings"
67
+ msgstr "Ajustes"
68
+
69
+ #: ../includes/class-change-wp-admin-login.php:258
70
+ msgid "This feature is not enabled."
71
+ msgstr "Esta función no está habilitada."
languages/change-wp-admin-login-fr_FR.mo ADDED
Binary file
languages/change-wp-admin-login-fr_FR.po ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Change wp-admin login\n"
4
+ "POT-Creation-Date: 2019-02-26 20:22+0000\n"
5
+ "PO-Revision-Date: \n"
6
+ "Language-Team: \n"
7
+ "MIME-Version: 1.0\n"
8
+ "Content-Type: text/plain; charset=UTF-8\n"
9
+ "Content-Transfer-Encoding: 8bit\n"
10
+ "X-Generator: Poedit 2.4.2\n"
11
+ "X-Poedit-Basepath: .\n"
12
+ "X-Poedit-KeywordsList: _e;__\n"
13
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
14
+ "Last-Translator: \n"
15
+ "Language: fr_FR\n"
16
+ "X-Poedit-SearchPath-0: ..\n"
17
+
18
+ #: ../includes/class-change-wp-admin-login.php:109
19
+ msgid "Please upgrade to the latest version of WordPress to activate"
20
+ msgstr "Veuillez mettre à jour WordPress dans sa dernière version pour activer"
21
+
22
+ #. Plugin Name
23
+ #: ../includes/class-change-wp-admin-login.php:109
24
+ #: ../includes/class-change-wp-admin-login.php:141
25
+ #: ../includes/class-change-wp-admin-login.php:168
26
+ msgid "Change wp-admin login"
27
+ msgstr "Change wp-admin login"
28
+
29
+ #: ../includes/class-change-wp-admin-login.php:142
30
+ msgid ""
31
+ "This option allows you to set a networkwide default, which can be overridden "
32
+ "by individual sites. Simply go to to the site’s permalink settings to change "
33
+ "the url."
34
+ msgstr ""
35
+ "Cette option vous permet de définir un réglage par défaut pour le réseau, "
36
+ "qui peut ensuite être remplacé pour chaque site individuellement. Allez "
37
+ "simplement dans les réglages des permaliens du site pour modifier l’URL."
38
+
39
+ #: ../includes/class-change-wp-admin-login.php:145
40
+ msgid "Networkwide default"
41
+ msgstr "Réglage par défaut du réseau"
42
+
43
+ #: ../includes/class-change-wp-admin-login.php:175
44
+ msgid "Login url"
45
+ msgstr "URL de connexion"
46
+
47
+ #: ../includes/class-change-wp-admin-login.php:214
48
+ #, php-format
49
+ msgid ""
50
+ "To set a networkwide default, go to <a href=\"%s\">Network Settings</a>."
51
+ msgstr ""
52
+ "Pour définir un réglage par défaut pour le réseau, allez aux <a href=\\”%s"
53
+ "\\”>réglages du réseaux</a>."
54
+
55
+ #: ../includes/class-change-wp-admin-login.php:233
56
+ #, php-format
57
+ msgid ""
58
+ "Your login page is now here: <strong><a href=\"%1$s\">%2$s</a></strong>. "
59
+ "Bookmark this page!"
60
+ msgstr ""
61
+ "Votre page de connexion est maintenant ici : <strong><a href=\\”%1$s\\”>"
62
+ "%2$s</a></strong>. Mettez-la en favori !"
63
+
64
+ #: ../includes/class-change-wp-admin-login.php:239
65
+ #: ../includes/class-change-wp-admin-login.php:241
66
+ msgid "Settings"
67
+ msgstr "Réglages"
68
+
69
+ #: ../includes/class-change-wp-admin-login.php:258
70
+ msgid "This feature is not enabled."
71
+ msgstr "Cette fonctionnalité n’est pas activée."
languages/change-wp-admin-login-it.mo ADDED
Binary file
languages/change-wp-admin-login-it.po ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Change wp-admin login\n"
4
+ "POT-Creation-Date: 2019-02-26 20:22+0000\n"
5
+ "PO-Revision-Date: \n"
6
+ "Language-Team: \n"
7
+ "MIME-Version: 1.0\n"
8
+ "Content-Type: text/plain; charset=UTF-8\n"
9
+ "Content-Transfer-Encoding: 8bit\n"
10
+ "X-Generator: Poedit 2.4.2\n"
11
+ "X-Poedit-Basepath: .\n"
12
+ "X-Poedit-KeywordsList: _e;__\n"
13
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
14
+ "Last-Translator: \n"
15
+ "Language: it\n"
16
+ "X-Poedit-SearchPath-0: ..\n"
17
+
18
+ #: ../includes/class-change-wp-admin-login.php:109
19
+ msgid "Please upgrade to the latest version of WordPress to activate"
20
+ msgstr "Effettua l’aggiornamento all’ultima versione di WordPress"
21
+
22
+ #. Plugin Name
23
+ #: ../includes/class-change-wp-admin-login.php:109
24
+ #: ../includes/class-change-wp-admin-login.php:141
25
+ #: ../includes/class-change-wp-admin-login.php:168
26
+ msgid "Change wp-admin login"
27
+ msgstr "Change wp-admin login"
28
+
29
+ #: ../includes/class-change-wp-admin-login.php:142
30
+ msgid ""
31
+ "This option allows you to set a networkwide default, which can be overridden "
32
+ "by individual sites. Simply go to to the site’s permalink settings to change "
33
+ "the url."
34
+ msgstr ""
35
+ "Questa opzione consente di impostare un valore predefinito per l’intera "
36
+ "rete, che può essere ignorato dai singoli siti. Basta andare alle "
37
+ "impostazioni permalink del sito per modificare l’URL."
38
+
39
+ #: ../includes/class-change-wp-admin-login.php:145
40
+ msgid "Networkwide default"
41
+ msgstr "Predefinito per l’intera rete"
42
+
43
+ #: ../includes/class-change-wp-admin-login.php:175
44
+ msgid "Login url"
45
+ msgstr "Url di accesso"
46
+
47
+ #: ../includes/class-change-wp-admin-login.php:214
48
+ #, php-format
49
+ msgid ""
50
+ "To set a networkwide default, go to <a href=\"%s\">Network Settings</a>."
51
+ msgstr ""
52
+ "Per impostare una rete predefinita ampia, andate a <a href=\\”%s"
53
+ "\\”>Impostazioni di rete</a>."
54
+
55
+ #: ../includes/class-change-wp-admin-login.php:233
56
+ #, php-format
57
+ msgid ""
58
+ "Your login page is now here: <strong><a href=\"%1$s\">%2$s</a></strong>. "
59
+ "Bookmark this page!"
60
+ msgstr ""
61
+ "La tua pagina di accesso adesso si trova qui: <strong><a href=\\”%1$s\\”>"
62
+ "%2$s</a></strong>. Metti questa pagina nei preferiti!"
63
+
64
+ #: ../includes/class-change-wp-admin-login.php:239
65
+ #: ../includes/class-change-wp-admin-login.php:241
66
+ msgid "Settings"
67
+ msgstr "Impostazioni"
68
+
69
+ #: ../includes/class-change-wp-admin-login.php:258
70
+ msgid "This feature is not enabled."
71
+ msgstr "Questa funzione non è abilitata."
languages/change-wp-admin-login-pt_PT.mo ADDED
Binary file
languages/change-wp-admin-login-pt_PT.po ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Change wp-admin login\n"
4
+ "POT-Creation-Date: 2019-02-26 20:22+0000\n"
5
+ "PO-Revision-Date: \n"
6
+ "Language-Team: \n"
7
+ "MIME-Version: 1.0\n"
8
+ "Content-Type: text/plain; charset=UTF-8\n"
9
+ "Content-Transfer-Encoding: 8bit\n"
10
+ "X-Generator: Poedit 2.4.2\n"
11
+ "X-Poedit-Basepath: .\n"
12
+ "X-Poedit-KeywordsList: _e;__\n"
13
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
14
+ "Last-Translator: \n"
15
+ "Language: pt_PT\n"
16
+ "X-Poedit-SearchPath-0: ..\n"
17
+
18
+ #: ../includes/class-change-wp-admin-login.php:109
19
+ msgid "Please upgrade to the latest version of WordPress to activate"
20
+ msgstr "Atualize o seu WordPress para a versão mais recente"
21
+
22
+ #. Plugin Name
23
+ #: ../includes/class-change-wp-admin-login.php:109
24
+ #: ../includes/class-change-wp-admin-login.php:141
25
+ #: ../includes/class-change-wp-admin-login.php:168
26
+ msgid "Change wp-admin login"
27
+ msgstr "Change wp-admin login"
28
+
29
+ #: ../includes/class-change-wp-admin-login.php:142
30
+ msgid ""
31
+ "This option allows you to set a networkwide default, which can be overridden "
32
+ "by individual sites. Simply go to to the site’s permalink settings to change "
33
+ "the url."
34
+ msgstr ""
35
+ "Esta opção permite definir um padrão para toda a rede, que pode ser "
36
+ "substituído por sites individuais. Basta aceder as configurações do link "
37
+ "permanente do site para alterar a URL."
38
+
39
+ #: ../includes/class-change-wp-admin-login.php:145
40
+ msgid "Networkwide default"
41
+ msgstr "Padrão em toda a rede"
42
+
43
+ #: ../includes/class-change-wp-admin-login.php:175
44
+ msgid "Login url"
45
+ msgstr "URL de login"
46
+
47
+ #: ../includes/class-change-wp-admin-login.php:214
48
+ #, php-format
49
+ msgid ""
50
+ "To set a networkwide default, go to <a href=\"%s\">Network Settings</a>."
51
+ msgstr ""
52
+ "Para definir um padrão para toda a rede, carregue em <a href=\\”%s\\”> "
53
+ "Configurações de rede </a>."
54
+
55
+ #: ../includes/class-change-wp-admin-login.php:233
56
+ #, php-format
57
+ msgid ""
58
+ "Your login page is now here: <strong><a href=\"%1$s\">%2$s</a></strong>. "
59
+ "Bookmark this page!"
60
+ msgstr ""
61
+ "Sua página de login agora está aqui: <strong><a href=\\”%1$s\\”>%2$s</a></"
62
+ "strong>. Guarde a pagina nos seus favoritos!"
63
+
64
+ #: ../includes/class-change-wp-admin-login.php:239
65
+ #: ../includes/class-change-wp-admin-login.php:241
66
+ msgid "Settings"
67
+ msgstr "Definições"
68
+
69
+ #: ../includes/class-change-wp-admin-login.php:258
70
+ msgid "This feature is not enabled."
71
+ msgstr "Este recurso não está activado."
languages/change-wp-admin-login-ru.mo ADDED
Binary file
languages/change-wp-admin-login-ru.po ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Change wp-admin login\n"
4
+ "POT-Creation-Date: 2019-02-26 20:22+0000\n"
5
+ "PO-Revision-Date: \n"
6
+ "Language-Team: \n"
7
+ "MIME-Version: 1.0\n"
8
+ "Content-Type: text/plain; charset=UTF-8\n"
9
+ "Content-Transfer-Encoding: 8bit\n"
10
+ "X-Generator: Poedit 2.4.2\n"
11
+ "X-Poedit-Basepath: .\n"
12
+ "X-Poedit-KeywordsList: _e;__\n"
13
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
14
+ "%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
15
+ "Last-Translator: \n"
16
+ "Language: ru\n"
17
+ "X-Poedit-SearchPath-0: ..\n"
18
+
19
+ #: ../includes/class-change-wp-admin-login.php:109
20
+ msgid "Please upgrade to the latest version of WordPress to activate"
21
+ msgstr "Для активации обновите WordPress до последней версии"
22
+
23
+ #. Plugin Name
24
+ #: ../includes/class-change-wp-admin-login.php:109
25
+ #: ../includes/class-change-wp-admin-login.php:141
26
+ #: ../includes/class-change-wp-admin-login.php:168
27
+ msgid "Change wp-admin login"
28
+ msgstr "Change wp-admin login"
29
+
30
+ #: ../includes/class-change-wp-admin-login.php:142
31
+ msgid ""
32
+ "This option allows you to set a networkwide default, which can be overridden "
33
+ "by individual sites. Simply go to to the site’s permalink settings to change "
34
+ "the url."
35
+ msgstr ""
36
+ "Эта опция позволяет вам установить умолчания сети, которые могут быть "
37
+ "переопределены для отдельных сайтов. Просто перейдите к настройкам "
38
+ "постоянных ссылок, чтобы изменить URL."
39
+
40
+ #: ../includes/class-change-wp-admin-login.php:145
41
+ msgid "Networkwide default"
42
+ msgstr "Умолчания сети"
43
+
44
+ #: ../includes/class-change-wp-admin-login.php:175
45
+ msgid "Login url"
46
+ msgstr "URL входа"
47
+
48
+ #: ../includes/class-change-wp-admin-login.php:214
49
+ #, php-format
50
+ msgid ""
51
+ "To set a networkwide default, go to <a href=\"%s\">Network Settings</a>."
52
+ msgstr ""
53
+ "Для установки умолчаний сети, перейдите в <a href=\\”%s\\”>Настройки сети</"
54
+ "a>."
55
+
56
+ #: ../includes/class-change-wp-admin-login.php:233
57
+ #, php-format
58
+ msgid ""
59
+ "Your login page is now here: <strong><a href=\"%1$s\">%2$s</a></strong>. "
60
+ "Bookmark this page!"
61
+ msgstr ""
62
+ "Ваша страница авторизации теперь здесь: <strong><a href=\\”%1$s\\”>%2$s</a></"
63
+ "strong>. Сделайте закладку на эту страницу!"
64
+
65
+ #: ../includes/class-change-wp-admin-login.php:239
66
+ #: ../includes/class-change-wp-admin-login.php:241
67
+ msgid "Settings"
68
+ msgstr "Настройки"
69
+
70
+ #: ../includes/class-change-wp-admin-login.php:258
71
+ msgid "This feature is not enabled."
72
+ msgstr "Этот функционал не включен."
languages/change-wp-admin-login.pot ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Project-Id-Version: Change wp-admin login\n"
5
+ "POT-Creation-Date: 2019-02-26 20:22+0000\n"
6
+ "PO-Revision-Date: \n"
7
+ "Language-Team: \n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "X-Generator: Poedit 1.8.11\n"
12
+ "X-Poedit-Basepath: .\n"
13
+ "X-Poedit-KeywordsList: _e;__\n"
14
+ "Last-Translator: \n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "Language: en_GB\n"
17
+ "X-Poedit-SearchPath-0: ..\n"
18
+
19
+ #: ../includes/class-change-wp-admin-login.php:109
20
+ msgid "Please upgrade to the latest version of WordPress to activate"
21
+ msgstr ""
22
+
23
+ #. Plugin Name
24
+ #: ../includes/class-change-wp-admin-login.php:109 ../includes/class-change-wp-admin-login.php:141 ../includes/class-change-wp-admin-login.php:168
25
+ msgid "Change wp-admin login"
26
+ msgstr ""
27
+
28
+ #: ../includes/class-change-wp-admin-login.php:142
29
+ msgid ""
30
+ "This option allows you to set a networkwide default, which can be overridden "
31
+ "by individual sites. Simply go to to the site’s permalink settings to change "
32
+ "the url."
33
+ msgstr ""
34
+
35
+ #: ../includes/class-change-wp-admin-login.php:145
36
+ msgid "Networkwide default"
37
+ msgstr ""
38
+
39
+ #: ../includes/class-change-wp-admin-login.php:175
40
+ msgid "Login url"
41
+ msgstr ""
42
+
43
+ #: ../includes/class-change-wp-admin-login.php:214
44
+ #, php-format
45
+ msgid ""
46
+ "To set a networkwide default, go to <a href=\"%s\">Network Settings</a>."
47
+ msgstr ""
48
+
49
+
50
+ #: ../includes/class-change-wp-admin-login.php:233
51
+ #, php-format
52
+ msgid ""
53
+ "Your login page is now here: <strong><a href=\"%1$s\">%2$s</a></strong>. "
54
+ "Bookmark this page!"
55
+ msgstr "
56
+
57
+ #: ../includes/class-change-wp-admin-login.php:239
58
+ msgid "Settings"
59
+ msgstr ""
60
+
61
+ #: ../includes/class-change-wp-admin-login.php:241
62
+ msgid "Settings"
63
+ msgstr ""
64
+
65
+ #: ../includes/class-change-wp-admin-login.php:258
66
+ msgid "This feature is not enabled."
67
+ msgstr ""
readme.txt ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Change wp-admin login ===
2
+ Tags: change wp-login, rename wp-login, wp-admin, login, wp-login, wp-login.php, custom login url
3
+ Contributors: nunosarmento
4
+ Requires at least: 4.4
5
+ Tested up to: 5.5
6
+ Stable tag: 1.0.1
7
+ License: GPL-2.0+
8
+
9
+
10
+ == Description ==
11
+
12
+ *Change wp-admin login* is a light plugin that allows you easily and safely to change wp-admin to anything you want. It does not rename or change files in core. It simply intercepts page requests and works on any WordPress website. After you activate this plugin the wp-admin directory and wp-login.php page will become unavailable, so you should bookmark or remember the url. Disable this plugin brings your site back exactly to the state it was before.
13
+
14
+ Go under Settings and then click on "Permalinks" and change your URL under "Change wp-admin login".
15
+
16
+ Example: http://www.example.com/my-login.
17
+
18
+ == New Feature ==
19
+
20
+ Automatic redirect to homepage when someone tries to access the wp-login.php page or the wp-admin directory while not logged in.
21
+
22
+ == Installation ==
23
+
24
+ 1. Go to Plugins › Add New.
25
+ 2. Search for *Change wp-admin login*.
26
+ 3. Download and activate it.
27
+ 4. Go under Settings and then click on "Permalinks" and change your URL under "Change wp-admin login"
28
+ 5. You can change this anytime, just go back to Settings › Permalinks › Change wp-admin login.
29
+
30
+ == Frequently Asked Questions ==
31
+
32
+ = I can't login? =
33
+ In case you forgot the login URL or for any other reason you can't login on the website you will need to delete the plugin via SFT/FTP or cPanel on your hosting.
34
+
35
+ Path for the plugin folder:
36
+ /wp-content/plugins/change-wp-admin-login
37
+
38
+ Advanced users:
39
+ Go to your MySQL database and look for the value of rwl_page in the options table
40
+
41
+ Advanced users (multisite):
42
+ Go to your MySQL database and look for rwl_page option will be in the sitemeta table or options table.
43
+
44
+ = Does it work with TranslatePress? =
45
+ You need to select the option "Use a subdirectory for the default language" to add the language slug in the url.
46
+
47
+ = Does it work with Polylang? =
48
+ Yes, it works but not tested with the URL option "The language is set from different domains".
49
+
50
+ = Does it work on WordPress Multisite with Subdirectories? =
51
+ Yes, it does work. You should setup the login URL in each website (Settings-->Permalinks)
52
+
53
+ = Does it work on WordPress Multisite with Subdomains? =
54
+ Yes, it does work. You should setup the login URL in each website (Settings-->Permalinks)
55
+
56
+ = This plugin won't work with "Plain Permalink" =
57
+ https://example.com/?p=123
58
+
59
+ == Changelog ==
60
+
61
+ = 1.0.0 =
62
+
63
+ * Initial version.
64
+
65
+ = 1.0.1 =
66
+
67
+ * Add automatic redirect for when someone tries to access the wp-login.php page or the wp-admin directory while not logged in will be redirected to the website homepage.