Custom Login Page Customizer | LoginPress - Version 1.0.16

Version Description

  • 2017-06-09 =
  • Bugfix: Login errors confliction with Woocommerce login form.
  • Enhancement: Set default login errors messages.
  • Enhancement: Add "username exists" and "email exists" error message option in customizer.
  • Enhancement: Code improvement.
  • Introducing Pro features:
    • Bugfix: reCaptcha confliction with woocommerce login form.
    • Enhancement: Add "Password hint" message option in customizer.
    • Enhancement: Code improvement.
Download this release

Release Info

Developer hiddenpearls
Plugin Icon 128x128 Custom Login Page Customizer | LoginPress
Version 1.0.16
Comparing to
See all releases

Code changes from version 1.0.15 to 1.0.16

Files changed (4) hide show
  1. classes/loginpress-setup.php +2 -1
  2. custom.php +94 -58
  3. loginpress.php +2 -2
  4. readme.txt +20 -10
classes/loginpress-setup.php CHANGED
@@ -37,7 +37,8 @@ class LoginPress_Settings {
37
  $_loginpress_Setting = get_option( 'loginpress_setting' );
38
  if ( isset( $_loginpress_Setting['reset_settings'] ) && 'on' == $_loginpress_Setting['reset_settings'] ) {
39
 
40
- delete_option( 'loginpress_customization' );
 
41
  update_option( 'customize_presets_settings', 'default1' );
42
  $_loginpress_Setting['reset_settings'] = 'off';
43
  update_option( 'loginpress_setting', $_loginpress_Setting );
37
  $_loginpress_Setting = get_option( 'loginpress_setting' );
38
  if ( isset( $_loginpress_Setting['reset_settings'] ) && 'on' == $_loginpress_Setting['reset_settings'] ) {
39
 
40
+ $loginpress_last_reset = array( 'last_reset_on' => date('Y-m-d') );
41
+ update_option( 'loginpress_customization', $loginpress_last_reset );
42
  update_option( 'customize_presets_settings', 'default1' );
43
  $_loginpress_Setting['reset_settings'] = 'off';
44
  update_option( 'loginpress_setting', $_loginpress_Setting );
custom.php CHANGED
@@ -40,10 +40,11 @@ class LoginPress_Entities {
40
 
41
  add_action( 'customize_controls_enqueue_scripts', array( $this, 'loginpress_customizer_js' ) );
42
  // add_action( 'customize_preview_init', array( $this, 'loginpress_customizer_js' ) );
43
-
44
 
45
  }
46
 
 
47
  /**
48
  * Enqueue jQuery and use wp_localize_script.
49
  *
@@ -581,20 +582,30 @@ class LoginPress_Entities {
581
  'panel' => 'loginpress_panel',
582
  ) );
583
 
584
- $error_control = array( 'incorrect_username', 'incorrect_password', 'empty_username', 'empty_password', 'invalid_email', 'empty_email', 'invalidcombo_message' );
585
- $error_default = array( 'Incorrect Username', 'Incorrect Password', 'Empty Username', 'Empty Password', 'The email address is incorrect.', 'The email address is empty.', 'Invalid Username or Email.' );
 
 
 
 
 
 
 
 
586
  $error_label = array(
587
- __( 'Incorrect Username Message:', 'loginpress' ),
588
- __( 'Incorrect Password Message:', 'loginpress' ),
589
- __( 'Empty Username Message:', 'loginpress' ),
590
- __( 'Empty Password Message:', 'loginpress' ),
591
- __( 'Invalid Email Message:', 'loginpress' ),
592
- __( 'Empty Email Message:', 'loginpress' ),
593
- __( 'Forget Password Message:', 'loginpress' ),
 
 
594
  );
595
 
596
  $error = 0;
597
- while ( $error < 7 ) :
598
 
599
  $wp_customize->add_setting( "loginpress_customization[{$error_control[$error]}]", array(
600
  'default' => $error_default[$error],
@@ -1086,18 +1097,18 @@ class LoginPress_Entities {
1086
  ) );
1087
 
1088
  $wp_customize->add_setting( 'loginpress_customization[loginpress_show_love]', array(
1089
- 'default' => true,
1090
- 'type' => 'option',
1091
- 'capability' => 'manage_options',
1092
- 'transport' => 'postMessage'
1093
  ) );
1094
 
1095
  $wp_customize->add_control( 'loginpress_customization[loginpress_show_love]', array(
1096
- 'settings' => 'loginpress_customization[loginpress_show_love]',
1097
- 'label' => __( 'Show some Love. Please help other learn about this free plugin by placing small link in footer. Thank you very much!', 'loginpress' ),
1098
- 'section' => 'section_fotter',
1099
- 'priority' => 80,
1100
- 'type' => 'checkbox',
1101
  ) );
1102
 
1103
  // =============================
@@ -1106,24 +1117,25 @@ class LoginPress_Entities {
1106
  $wp_customize->add_section(
1107
  'section_css',
1108
  array(
1109
- 'title' => __( 'Custom CSS', 'loginpress' ),
1110
- 'description' => '',
1111
- 'priority' => 50,
1112
- 'panel' => 'loginpress_panel',
1113
  ) );
1114
 
1115
  $wp_customize->add_setting( 'loginpress_customization[loginpress_custom_css]', array(
1116
- 'type' => 'option',
1117
- 'capability' => 'manage_options',
1118
- 'transport' => 'postMessage'
1119
  ) );
1120
 
1121
  $wp_customize->add_control( 'loginpress_customization[loginpress_custom_css]', array(
1122
- 'label' => __( 'Customize CSS', 'loginpress' ),
1123
- 'type' => 'textarea',
1124
- 'section' => 'section_css',
1125
- 'priority' => 5,
1126
- 'settings' => 'loginpress_customization[loginpress_custom_css]'
 
1127
  ) );
1128
 
1129
  // =============================
@@ -1132,24 +1144,25 @@ class LoginPress_Entities {
1132
  $wp_customize->add_section(
1133
  'section_js',
1134
  array(
1135
- 'title' => __( 'Custom JS', 'loginpress' ),
1136
- 'description' => '',
1137
- 'priority' => 55,
1138
- 'panel' => 'loginpress_panel',
1139
  ) );
1140
 
1141
  $wp_customize->add_setting( 'loginpress_customization[loginpress_custom_js]', array(
1142
- 'type' => 'option',
1143
- 'capability' => 'manage_options',
1144
- 'transport' => 'postMessage'
1145
  ) );
1146
 
1147
  $wp_customize->add_control( 'loginpress_customization[loginpress_custom_js]', array(
1148
- 'label' => __( 'Customize JS', 'loginpress' ),
1149
- 'type' => 'textarea',
1150
- 'section' => 'section_js',
1151
- 'priority' => 5,
1152
- 'settings' => 'loginpress_customization[loginpress_custom_js]'
 
1153
  ) );
1154
  }
1155
 
@@ -1236,6 +1249,19 @@ class LoginPress_Entities {
1236
  }
1237
  }
1238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1239
  /**
1240
  * Set hover Title of Logo
1241
  *
@@ -1243,6 +1269,7 @@ class LoginPress_Entities {
1243
  * @return mixed
1244
  * * * * * * * * * * * * */
1245
  public function login_page_logo_title() {
 
1246
  if ( $this->loginpress_key && array_key_exists( 'customize_logo_hover_title', $this->loginpress_key ) ) {
1247
  return $this->loginpress_key["customize_logo_hover_title"];
1248
  } else {
@@ -1263,19 +1290,23 @@ class LoginPress_Entities {
1263
  $error_codes = $errors->get_error_codes();
1264
  if ( $this->loginpress_key ) {
1265
 
1266
- $invalid_usrname = array_key_exists( 'incorrect_username', $this->loginpress_key ) ? $this->loginpress_key['incorrect_username']: esc_html__( 'Invalid Username', 'loginpress' );
 
 
1267
 
1268
- $invalid_pasword = array_key_exists( 'incorrect_password', $this->loginpress_key ) ? $this->loginpress_key['incorrect_password']: esc_html__( 'Invalid Password', 'loginpress' );
1269
 
1270
- $empty_username = array_key_exists( 'empty_username', $this->loginpress_key ) ? $this->loginpress_key['empty_username']: esc_html__( 'Empty Username', 'loginpress' );
1271
 
1272
- $empty_password = array_key_exists( 'empty_password', $this->loginpress_key ) ? $this->loginpress_key['empty_password']: esc_html__( 'Empty Password', 'loginpress' );
1273
 
1274
- $invalid_email = array_key_exists( 'invalid_email', $this->loginpress_key ) ? $this->loginpress_key['invalid_email']: esc_html__( 'The email address is incorrect.', 'loginpress' );
1275
 
1276
- $empty_email = array_key_exists( 'empty_email', $this->loginpress_key ) ? $this->loginpress_key['empty_email']: esc_html__( 'The email address is empty.', 'loginpress' );
1277
 
1278
- $invalidcombo = array_key_exists( 'invalidcombo_message', $this->loginpress_key ) ? $this->loginpress_key['invalidcombo_message']: esc_html__( 'Invalid Username or Email.', 'loginpress' );
 
 
1279
 
1280
  if ( in_array( 'invalid_username', $error_codes ) ) return $invalid_usrname;
1281
 
@@ -1285,12 +1316,16 @@ class LoginPress_Entities {
1285
 
1286
  if ( in_array( 'empty_password', $error_codes ) ) return $empty_password;
1287
 
1288
- // registeration Form enteries
1289
  if ( in_array( 'invalid_email', $error_codes ) ) return $invalid_email;
1290
 
1291
  if ( in_array( 'empty_email', $error_codes ) ) return "</br>" . $empty_email;
1292
 
1293
- //forget password entery
 
 
 
 
1294
  if ( in_array( 'invalidcombo', $error_codes ) ) return $invalidcombo;
1295
  }
1296
 
@@ -1332,21 +1367,22 @@ class LoginPress_Entities {
1332
  * @return string
1333
  * * * * * * * * * * * * */
1334
  public function change_welcome_message ($message) {
 
1335
  if ( $this->loginpress_key ) {
1336
 
1337
  //Check, User Logedout.
1338
  if ( isset($_GET['loggedout']) && TRUE == $_GET['loggedout'] ) {
1339
 
1340
- if ( array_key_exists( 'logout_message', $this->loginpress_key ) ) {
1341
 
1342
  $message = $this->loginpress_key['logout_message'];
1343
  }
1344
  }
1345
 
1346
  //Logged In messages.
1347
- else if ( strpos( $message,"Please enter your username or email address. You will receive a link to create a new password via email." ) == true ) {
1348
 
1349
- if ( array_key_exists( 'lostpwd_welcome_message', $this->loginpress_key ) ) {
1350
 
1351
  $message = $this->loginpress_key['lostpwd_welcome_message'];
1352
  }
@@ -1354,14 +1390,14 @@ class LoginPress_Entities {
1354
 
1355
  else if( strpos( $message,"Register For This Site" ) == true ) {
1356
 
1357
- if ( array_key_exists( 'register_welcome_message', $this->loginpress_key ) ) {
1358
 
1359
  $message = $this->loginpress_key['register_welcome_message'];
1360
  }
1361
  }
1362
 
1363
  else {
1364
- if ( array_key_exists( 'welcome_message', $this->loginpress_key ) ) {
1365
 
1366
  $message = $this->loginpress_key['welcome_message'];
1367
  }
40
 
41
  add_action( 'customize_controls_enqueue_scripts', array( $this, 'loginpress_customizer_js' ) );
42
  // add_action( 'customize_preview_init', array( $this, 'loginpress_customizer_js' ) );
43
+ add_filter( 'woocommerce_process_login_errors', array( $this, 'loginpress_woo_login_errors' ), 10, 3 );
44
 
45
  }
46
 
47
+
48
  /**
49
  * Enqueue jQuery and use wp_localize_script.
50
  *
582
  'panel' => 'loginpress_panel',
583
  ) );
584
 
585
+ $error_control = array( 'incorrect_username', 'incorrect_password', 'empty_username', 'empty_password', 'invalid_email', 'empty_email', 'username_exists', 'email_exists', 'invalidcombo_message' );
586
+ $error_default = array(
587
+ sprintf( __( '%1$sError:%2$s Invalid Username.', 'loginpress' ), '<strong>', '</strong>' ), sprintf( __( '%1$sError:%2$s Invalid Password.', 'loginpress' ), '<strong>', '</strong>' ),
588
+ sprintf( __( '%1$sError:%2$s The username field is empty.', 'loginpress' ), '<strong>', '</strong>' ),
589
+ sprintf( __( '%1$sError:%2$s The password field is empty.', 'loginpress' ), '<strong>', '</strong>' ),
590
+ sprintf( __( '%1$sError:%2$s The email address isn\'t correct..', 'loginpress' ), '<strong>', '</strong>' ),
591
+ sprintf( __( '%1$sError:%2$s Please type your email address.', 'loginpress' ), '<strong>', '</strong>' ),
592
+ sprintf( __( '%1$sError:%2$s This username is already registered. Please choose another one.', 'loginpress' ), '<strong>', '</strong>' ),
593
+ sprintf( __( '%1$sError:%2$s This email is already registered, please choose another one.', 'loginpress' ), '<strong>', '</strong>' ),
594
+ sprintf( __( '%1$sError:%2$s Invalid username or email.', 'loginpress' ), '<strong>', '</strong>' ) );
595
  $error_label = array(
596
+ __( 'Incorrect Username Message:', 'loginpress' ),
597
+ __( 'Incorrect Password Message:', 'loginpress' ),
598
+ __( 'Empty Username Message:', 'loginpress' ),
599
+ __( 'Empty Password Message:', 'loginpress' ),
600
+ __( 'Invalid Email Message:', 'loginpress' ),
601
+ __( 'Empty Email Message:', 'loginpress' ),
602
+ __( 'Username Already Exist Message:','loginpress' ),
603
+ __( 'Email Already Exist Message:', 'loginpress' ),
604
+ __( 'Forget Password Message:', 'loginpress' ),
605
  );
606
 
607
  $error = 0;
608
+ while ( $error < 9 ) :
609
 
610
  $wp_customize->add_setting( "loginpress_customization[{$error_control[$error]}]", array(
611
  'default' => $error_default[$error],
1097
  ) );
1098
 
1099
  $wp_customize->add_setting( 'loginpress_customization[loginpress_show_love]', array(
1100
+ 'default' => true,
1101
+ 'type' => 'option',
1102
+ 'capability' => 'manage_options',
1103
+ 'transport' => 'postMessage'
1104
  ) );
1105
 
1106
  $wp_customize->add_control( 'loginpress_customization[loginpress_show_love]', array(
1107
+ 'settings' => 'loginpress_customization[loginpress_show_love]',
1108
+ 'section' => 'section_fotter',
1109
+ 'priority' => 80,
1110
+ 'type' => 'checkbox',
1111
+ 'label' => __( 'Show some Love. Please help other learn about this free plugin by placing small link in footer. Thank you very much!', 'loginpress' ),
1112
  ) );
1113
 
1114
  // =============================
1117
  $wp_customize->add_section(
1118
  'section_css',
1119
  array(
1120
+ 'title' => __( 'Custom CSS', 'loginpress' ),
1121
+ 'description' => '',
1122
+ 'priority' => 50,
1123
+ 'panel' => 'loginpress_panel',
1124
  ) );
1125
 
1126
  $wp_customize->add_setting( 'loginpress_customization[loginpress_custom_css]', array(
1127
+ 'type' => 'option',
1128
+ 'capability' => 'manage_options',
1129
+ 'transport' => 'postMessage'
1130
  ) );
1131
 
1132
  $wp_customize->add_control( 'loginpress_customization[loginpress_custom_css]', array(
1133
+ 'label' => __( 'Customize CSS', 'loginpress' ),
1134
+ 'type' => 'textarea',
1135
+ 'section' => 'section_css',
1136
+ 'priority' => 5,
1137
+ 'settings' => 'loginpress_customization[loginpress_custom_css]',
1138
+ 'description' => sprintf( __( 'Custom CSS doen\'t make effect live. For preview please save the setting and visit %1$s login%2$s page or after save refresh the customizer.', "loginpress" ), '<a href="' . wp_login_url() .'"title="Login" target="_blank">', '</a>')
1139
  ) );
1140
 
1141
  // =============================
1144
  $wp_customize->add_section(
1145
  'section_js',
1146
  array(
1147
+ 'title' => __( 'Custom JS', 'loginpress' ),
1148
+ 'description' => '',
1149
+ 'priority' => 55,
1150
+ 'panel' => 'loginpress_panel',
1151
  ) );
1152
 
1153
  $wp_customize->add_setting( 'loginpress_customization[loginpress_custom_js]', array(
1154
+ 'type' => 'option',
1155
+ 'capability' => 'manage_options',
1156
+ 'transport' => 'postMessage'
1157
  ) );
1158
 
1159
  $wp_customize->add_control( 'loginpress_customization[loginpress_custom_js]', array(
1160
+ 'label' => __( 'Customize JS', 'loginpress' ),
1161
+ 'type' => 'textarea',
1162
+ 'section' => 'section_js',
1163
+ 'priority' => 5,
1164
+ 'settings' => 'loginpress_customization[loginpress_custom_js]',
1165
+ 'description' => sprintf( __( 'Custom JS doen\'t make effect live. For preview please save the setting and visit %1$s login%2$s page or after save refresh the customizer.', "loginpress" ), '<a href="' . wp_login_url() .'"title="Login" target="_blank">', '</a>')
1166
  ) );
1167
  }
1168
 
1249
  }
1250
  }
1251
 
1252
+ /**
1253
+ * Remove the filter login_errors from woocommerce login form.
1254
+ *
1255
+ * @since 1.0.16
1256
+ * @return errors
1257
+ * * * * * * * * * * * * */
1258
+ function loginpress_woo_login_errors( $validation_error, $arg1, $arg2 ) {
1259
+
1260
+ remove_filter( 'login_errors', array( $this, 'login_error_messages' ) );
1261
+ return $validation_error;
1262
+ }
1263
+
1264
+
1265
  /**
1266
  * Set hover Title of Logo
1267
  *
1269
  * @return mixed
1270
  * * * * * * * * * * * * */
1271
  public function login_page_logo_title() {
1272
+
1273
  if ( $this->loginpress_key && array_key_exists( 'customize_logo_hover_title', $this->loginpress_key ) ) {
1274
  return $this->loginpress_key["customize_logo_hover_title"];
1275
  } else {
1290
  $error_codes = $errors->get_error_codes();
1291
  if ( $this->loginpress_key ) {
1292
 
1293
+ $invalid_usrname = array_key_exists( 'incorrect_username', $this->loginpress_key ) && ! empty( $this->loginpress_key['incorrect_username'] ) ? $this->loginpress_key['incorrect_username'] : sprintf( __( '%1$sError:%2$s Invalid Username.', 'loginpress' ), '<strong>', '</strong>' );
1294
+
1295
+ $invalid_pasword = array_key_exists( 'incorrect_password', $this->loginpress_key ) && ! empty( $this->loginpress_key['incorrect_password'] ) ? $this->loginpress_key['incorrect_password'] : sprintf( __( '%1$sError:%2$s Invalid Password.', 'loginpress' ), '<strong>', '</strong>' );
1296
 
1297
+ $empty_username = array_key_exists( 'empty_username', $this->loginpress_key ) && ! empty( $this->loginpress_key['empty_username'] ) ? $this->loginpress_key['empty_username'] : sprintf( __( '%1$sError:%2$s The username field is empty.', 'loginpress' ), '<strong>', '</strong>' );
1298
 
1299
+ $empty_password = array_key_exists( 'empty_password', $this->loginpress_key ) && ! empty( $this->loginpress_key['empty_password'] ) ? $this->loginpress_key['empty_password'] : sprintf( __( '%1$sError:%2$s The password field is empty.', 'loginpress' ), '<strong>', '</strong>' );
1300
 
1301
+ $invalid_email = array_key_exists( 'invalid_email', $this->loginpress_key ) && ! empty( $this->loginpress_key['invalid_email'] ) ? $this->loginpress_key['invalid_email'] : sprintf( __( '%1$sError:%2$s The email address isn\'t correct..', 'loginpress' ), '<strong>', '</strong>' );
1302
 
1303
+ $empty_email = array_key_exists( 'empty_email', $this->loginpress_key ) && ! empty( $this->loginpress_key['empty_email'] ) ? $this->loginpress_key['empty_email'] : sprintf( __( '%1$sError:%2$s Please type your email address.', 'loginpress' ), '<strong>', '</strong>' );
1304
 
1305
+ $username_exists = array_key_exists( 'username_exists', $this->loginpress_key ) && ! empty( $this->loginpress_key['username_exists'] ) ? $this->loginpress_key['username_exists'] : sprintf( __( '%1$sError:%2$s This username is already registered. Please choose another one.', 'loginpress' ), '<strong>', '</strong>' );
1306
 
1307
+ $email_exists = array_key_exists( 'email_exists', $this->loginpress_key ) && ! empty( $this->loginpress_key['email_exists'] ) ? $this->loginpress_key['email_exists'] : sprintf( __( '%1$sError:%2$s This email is already registered, please choose another one.', 'loginpress' ), '<strong>', '</strong>' );
1308
+
1309
+ $invalidcombo = array_key_exists( 'invalidcombo_message', $this->loginpress_key ) && ! empty( $this->loginpress_key['invalidcombo_message'] ) ? $this->loginpress_key['invalidcombo_message'] : sprintf( __( '%1$sError:%2$s Invalid username or email.', 'loginpress' ), '<strong>', '</strong>' );
1310
 
1311
  if ( in_array( 'invalid_username', $error_codes ) ) return $invalid_usrname;
1312
 
1316
 
1317
  if ( in_array( 'empty_password', $error_codes ) ) return $empty_password;
1318
 
1319
+ // registeration Form enteries.
1320
  if ( in_array( 'invalid_email', $error_codes ) ) return $invalid_email;
1321
 
1322
  if ( in_array( 'empty_email', $error_codes ) ) return "</br>" . $empty_email;
1323
 
1324
+ if ( in_array( 'username_exists', $error_codes ) ) return $username_exists;
1325
+
1326
+ if ( in_array( 'email_exists', $error_codes ) ) return $email_exists;
1327
+
1328
+ // forget password entery.
1329
  if ( in_array( 'invalidcombo', $error_codes ) ) return $invalidcombo;
1330
  }
1331
 
1367
  * @return string
1368
  * * * * * * * * * * * * */
1369
  public function change_welcome_message ($message) {
1370
+
1371
  if ( $this->loginpress_key ) {
1372
 
1373
  //Check, User Logedout.
1374
  if ( isset($_GET['loggedout']) && TRUE == $_GET['loggedout'] ) {
1375
 
1376
+ if ( array_key_exists( 'logout_message', $this->loginpress_key ) && ! empty( $this->loginpress_key['logout_message'] ) ) {
1377
 
1378
  $message = $this->loginpress_key['logout_message'];
1379
  }
1380
  }
1381
 
1382
  //Logged In messages.
1383
+ else if ( strpos( $message, "Please enter your username or email address. You will receive a link to create a new password via email." ) == true ) {
1384
 
1385
+ if ( array_key_exists( 'lostpwd_welcome_message', $this->loginpress_key ) && ! empty( $this->loginpress_key['lostpwd_welcome_message'] ) ) {
1386
 
1387
  $message = $this->loginpress_key['lostpwd_welcome_message'];
1388
  }
1390
 
1391
  else if( strpos( $message,"Register For This Site" ) == true ) {
1392
 
1393
+ if ( array_key_exists( 'register_welcome_message', $this->loginpress_key ) && ! empty( $this->loginpress_key['register_welcome_message'] ) ) {
1394
 
1395
  $message = $this->loginpress_key['register_welcome_message'];
1396
  }
1397
  }
1398
 
1399
  else {
1400
+ if ( array_key_exists( 'welcome_message', $this->loginpress_key ) && ! empty( $this->loginpress_key['welcome_message'] ) ) {
1401
 
1402
  $message = $this->loginpress_key['welcome_message'];
1403
  }
loginpress.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: LoginPress - Customizing the WordPress Login
4
  * Plugin URI: http://www.WPBrigade.com/wordpress/plugins/loginpress/
5
  * Description: LoginPress is the best <code>wp-login</code> Login Page Customizer plugin by <a href="https://wpbrigade.com/">WPBrigade</a> which allows you to completely change the layout of login, register and forgot password forms.
6
- * Version: 1.0.15
7
  * Author: WPBrigade
8
  * Author URI: http://www.WPBrigade.com/
9
  * Text Domain: loginpress
@@ -22,7 +22,7 @@ if ( ! class_exists( 'LoginPress' ) ) :
22
  /**
23
  * @var string
24
  */
25
- public $version = '1.0.15';
26
 
27
  /**
28
  * @var The single instance of the class
3
  * Plugin Name: LoginPress - Customizing the WordPress Login
4
  * Plugin URI: http://www.WPBrigade.com/wordpress/plugins/loginpress/
5
  * Description: LoginPress is the best <code>wp-login</code> Login Page Customizer plugin by <a href="https://wpbrigade.com/">WPBrigade</a> which allows you to completely change the layout of login, register and forgot password forms.
6
+ * Version: 1.0.16
7
  * Author: WPBrigade
8
  * Author URI: http://www.WPBrigade.com/
9
  * Text Domain: loginpress
22
  /**
23
  * @var string
24
  */
25
+ public $version = '1.0.16';
26
 
27
  /**
28
  * @var The single instance of the class
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === WordPress Custom Login Page Customizer | LoginPress ===
2
  Requires at least: 4.0
3
- Tested up to: 4.7
4
  Contributors: WPBrigade, hiddenpearls, AbdulWahab610
5
  Author URI: https://wpbrigade.com
6
  Tags: wp-login, custom wp-login, login customizer, custom login, custom login logo, login customizer, custom login page, login error, login page style, loginpress
7
- Stable tag: 1.0.15
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -12,7 +12,7 @@ LoginPress is a WordPress Custom Login Page Customizer plugin allows you to easi
12
 
13
  == Description ==
14
 
15
- <a href="http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade" rel="friend">LoginPress Plugin</a> by LoginPress holds a lot of customization fields to change the layout of the login page of WordPress. You can modify the look and feel of login page completely even the login error messages, forgot error messages, registration error messages and many more.
16
  LoginPress Plugin would give you and your users a feeling that it is a custom login page and a part of the site layout. You must checkout the Demo video of how you can customize WordPress login page.
17
 
18
  **Getting Started video for customizing login page using LoginPress**
@@ -42,7 +42,7 @@ LoginPress plugin is built using The Customizer API which is getting popular for
42
 
43
  * Button: You can set the color of your button WYSIWYG.
44
 
45
- Error Messages: Main Feature of the plugin. You can change the error log messages as you want to show users form LoginPress → Error Messages.
46
 
47
  * Welcome Messages: Same as error log messages you can customize the welcome messages from LoginPress → Welcome Messages.
48
 
@@ -55,7 +55,7 @@ Error Messages: Main Feature of the plugin. You can change the error log message
55
 
56
  **LoginPress Features in Detail:**
57
 
58
- * Customize login error messages. You can change every error message wether it is on login form, forgot password form or register form.
59
  * Customize login logo image.
60
  * Customize login logo image width.
61
  * Customize login logo image height.
@@ -82,9 +82,9 @@ Error Messages: Main Feature of the plugin. You can change the error log message
82
  * Customize login page footer. We call login page footer area under the login form fields.
83
  * LoginPress has a Custom CSS area which can Customize login page in more advanced way. Recommended for advanced users.
84
  * Customize your login page in more advanced way using our Custom JS area. Add your JS there and make your login page more advanced.
85
- * Customize login page with unlimited features available in loginpress.
86
 
87
- After going through this extensive list of feaures you can imagine Why LoginPress is the best login page customizer in the WordPress market.
88
 
89
  > <strong>Beautify and Innovate your WordPress login page without any coding knowledge!</strong>
90
 
@@ -163,6 +163,16 @@ Please visit <a target="_blank" rel="friend" href="http://www.WPBrigade.com/word
163
 
164
  == Changelog ==
165
 
 
 
 
 
 
 
 
 
 
 
166
  = 1.0.15 - 2017-05-31 =
167
  * Enhancement: opt-in for plugin users.
168
  * Enhancement: Add footer link through customizer.
@@ -183,7 +193,7 @@ Please visit <a target="_blank" rel="friend" href="http://www.WPBrigade.com/word
183
 
184
  = 1.0.11 - 2017-02-25 =
185
  * Bugfix: Form Padding on Lost Password and Register Pages.
186
- * Enhancement: WPML & Multilingual Compatible. Fully transtable now.
187
  * Enhancement: Few Text edits for better UX.
188
  * Enhancement: Settings links added at plugins page.
189
  * Enhancement: Usage Tracking option for improving plugin.
@@ -193,7 +203,7 @@ Please visit <a target="_blank" rel="friend" href="http://www.WPBrigade.com/word
193
  * Bugfix: Default background issue fixed.
194
 
195
  = 1.0.9 - 2017-02-01 =
196
- * Bugfix: paht issue in 1.0.8
197
 
198
  = 1.0.8 - 2017-02-01 =
199
  * Enhancement: Reset settings option added
@@ -228,5 +238,5 @@ Please visit <a target="_blank" rel="friend" href="http://www.WPBrigade.com/word
228
 
229
  == Upgrade Notice ==
230
 
231
- = 1.0.15 =
232
  * Important release, Please upgrade immediately.
1
  === WordPress Custom Login Page Customizer | LoginPress ===
2
  Requires at least: 4.0
3
+ Tested up to: 4.8
4
  Contributors: WPBrigade, hiddenpearls, AbdulWahab610
5
  Author URI: https://wpbrigade.com
6
  Tags: wp-login, custom wp-login, login customizer, custom login, custom login logo, login customizer, custom login page, login error, login page style, loginpress
7
+ Stable tag: 1.0.16
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
12
 
13
  == Description ==
14
 
15
+ <a href="http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade" rel="friend">LoginPress Plugin</a> by LoginPress holds a lot of customization fields to change the layout of the login page of WordPress. You can modify the look and feel of login page completely even the login error messages, forgot error messages, registration error messages, forget password hint message and many more.
16
  LoginPress Plugin would give you and your users a feeling that it is a custom login page and a part of the site layout. You must checkout the Demo video of how you can customize WordPress login page.
17
 
18
  **Getting Started video for customizing login page using LoginPress**
42
 
43
  * Button: You can set the color of your button WYSIWYG.
44
 
45
+ * Error Messages: Main Feature of the plugin. You can change the error log messages as you want to show users form LoginPress → Error Messages.
46
 
47
  * Welcome Messages: Same as error log messages you can customize the welcome messages from LoginPress → Welcome Messages.
48
 
55
 
56
  **LoginPress Features in Detail:**
57
 
58
+ * Customize login error messages. You can change every error message whether it is on login form, forgot password form, register form or reset password form.
59
  * Customize login logo image.
60
  * Customize login logo image width.
61
  * Customize login logo image height.
82
  * Customize login page footer. We call login page footer area under the login form fields.
83
  * LoginPress has a Custom CSS area which can Customize login page in more advanced way. Recommended for advanced users.
84
  * Customize your login page in more advanced way using our Custom JS area. Add your JS there and make your login page more advanced.
85
+ * Customize login page with unlimited features available in LoginPress.
86
 
87
+ After going through this extensive list of features you can imagine Why LoginPress is the best login page customizer in the WordPress market.
88
 
89
  > <strong>Beautify and Innovate your WordPress login page without any coding knowledge!</strong>
90
 
163
 
164
  == Changelog ==
165
 
166
+ = 1.0.16 - 2017-06-09 =
167
+ * Bugfix: Login errors confliction with Woocommerce login form.
168
+ * Enhancement: Set default login errors messages.
169
+ * Enhancement: Add "username exists" and "email exists" error message option in customizer.
170
+ * Enhancement: Code improvement.
171
+ * Introducing Pro features:
172
+ * Bugfix: reCaptcha confliction with woocommerce login form.
173
+ * Enhancement: Add "Password hint" message option in customizer.
174
+ * Enhancement: Code improvement.
175
+
176
  = 1.0.15 - 2017-05-31 =
177
  * Enhancement: opt-in for plugin users.
178
  * Enhancement: Add footer link through customizer.
193
 
194
  = 1.0.11 - 2017-02-25 =
195
  * Bugfix: Form Padding on Lost Password and Register Pages.
196
+ * Enhancement: WPML & Multilingual Compatible. Fully translatable now.
197
  * Enhancement: Few Text edits for better UX.
198
  * Enhancement: Settings links added at plugins page.
199
  * Enhancement: Usage Tracking option for improving plugin.
203
  * Bugfix: Default background issue fixed.
204
 
205
  = 1.0.9 - 2017-02-01 =
206
+ * Bugfix: path issue in 1.0.8
207
 
208
  = 1.0.8 - 2017-02-01 =
209
  * Enhancement: Reset settings option added
238
 
239
  == Upgrade Notice ==
240
 
241
+ = 1.0.16 =
242
  * Important release, Please upgrade immediately.