404page – your smart custom 404 error page - Version 3.3

Version Description

support for right-to-left-languages

Download this release

Release Info

Developer petersplugins
Plugin Icon 128x128 404page – your smart custom 404 error page
Version 3.3
Comparing to
See all releases

Code changes from version 3.2 to 3.3

404page.php CHANGED
@@ -7,11 +7,11 @@
7
  *
8
  * @wordpress-plugin
9
  * Plugin Name: 404page - your smart custom 404 error page
10
- * Plugin URI: http://petersplugins.com/free-wordpress-plugins/404page/
11
  * Description: Custom 404 the easy way! Set any page as custom 404 error page. No coding needed. Works with (almost) every Theme.
12
- * Version: 3.2
13
  * Author: Peter Raschendorfer
14
- * Author URI: http://petersplugins.com
15
  * Text Domain: 404page
16
  * License: GPL2+
17
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
7
  *
8
  * @wordpress-plugin
9
  * Plugin Name: 404page - your smart custom 404 error page
10
+ * Plugin URI: https://petersplugins.com/free-wordpress-plugins/404page/
11
  * Description: Custom 404 the easy way! Set any page as custom 404 error page. No coding needed. Works with (almost) every Theme.
12
+ * Version: 3.3
13
  * Author: Peter Raschendorfer
14
+ * Author URI: https://petersplugins.com
15
  * Text Domain: 404page
16
  * License: GPL2+
17
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
assets/css/404page-ui.css CHANGED
@@ -2,6 +2,40 @@
2
  margin-bottom: 40px;
3
  }
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  #pp-404page-settings .form-table th, .form-table td {
6
  display: block;
7
  width: auto;
@@ -27,21 +61,6 @@
27
  display: none;
28
  }
29
 
30
- .ui-accordion .ui-accordion-header {
31
- cursor: pointer;
32
- outline: 0;
33
- }
34
- .ui-accordion .ui-accordion-header:before {
35
- font-family: dashicons;
36
- content: "\f132";
37
- margin-right: 10px;
38
- float: left;
39
- }
40
-
41
- .ui-accordion .ui-accordion-header-active:before {
42
- content: "\f460";
43
- }
44
-
45
  #pp-404page-settings input[type="checkbox"] {
46
  display: none;
47
  }
@@ -59,6 +78,12 @@
59
  margin-right: 40px;
60
  }
61
 
 
 
 
 
 
 
62
  #pp-404page-settings input[type="checkbox"]:disabled + label.check {
63
  background-color: #DDD;
64
  }
@@ -67,7 +92,6 @@
67
  content: '';
68
  position: absolute;
69
  top: 5px;
70
- left: 5px;
71
  width: 30px;
72
  height: 30px;
73
  background: #fff;
@@ -75,20 +99,20 @@
75
  transition: 0.3s;
76
  }
77
 
 
 
 
 
 
78
  #pp-404page-settings input[type="checkbox"]:enabled:checked + label.check {
79
  background: #104060;
80
  }
81
 
82
- #pp-404page-settings input[type="checkbox"]:enabled:checked + label.check:after {
83
  left: calc(100% - 5px);
84
  transform: translateX(-100%);
85
  }
86
 
87
-
88
- #pp-seetings-advanced>div {
89
- display: none;
90
- }
91
-
92
  #pp-404page-settings select {
93
  border: 1px solid #104060;
94
  border-radius:5px;
2
  margin-bottom: 40px;
3
  }
4
 
5
+ #pp-plugin-info-404page {
6
+ min-height: 48px;
7
+ line-height: 48px;
8
+ vertical-align: middle;
9
+ padding-left: 60px;
10
+ background-repeat: no-repeat;
11
+ background-position: left center;
12
+ }
13
+
14
+ .rtl #pp-plugin-info-404page {
15
+ padding-left: 0;
16
+ padding-right: 60px;
17
+ background-position: right center;
18
+ }
19
+
20
+ #pp-plugin-info-404page span {
21
+ float: right;
22
+ padding-left: 50px;
23
+ }
24
+
25
+ .rtl #pp-plugin-info-404page span {
26
+ float: left;
27
+ padding-left: 0;
28
+ padding-right: 50px;
29
+ }
30
+
31
+ #pp-plugin-info-404page .dashicons {
32
+ vertical-align: middle;
33
+ }
34
+
35
+ #select404page {
36
+ width: 100%;
37
+ }
38
+
39
  #pp-404page-settings .form-table th, .form-table td {
40
  display: block;
41
  width: auto;
61
  display: none;
62
  }
63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  #pp-404page-settings input[type="checkbox"] {
65
  display: none;
66
  }
78
  margin-right: 40px;
79
  }
80
 
81
+ .rtl #pp-404page-settings input[type="checkbox"] + label.check {
82
+ float: right;
83
+ margin-left: 40px;
84
+ margin-right: 0;
85
+ }
86
+
87
  #pp-404page-settings input[type="checkbox"]:disabled + label.check {
88
  background-color: #DDD;
89
  }
92
  content: '';
93
  position: absolute;
94
  top: 5px;
 
95
  width: 30px;
96
  height: 30px;
97
  background: #fff;
99
  transition: 0.3s;
100
  }
101
 
102
+ body:not(.rtl) #pp-404page-settings input[type="checkbox"] + label.check:after, .rtl #pp-404page-settings input[type="checkbox"]:enabled:checked + label.check:after {
103
+ left: 5px;
104
+ transform: none;
105
+ }
106
+
107
  #pp-404page-settings input[type="checkbox"]:enabled:checked + label.check {
108
  background: #104060;
109
  }
110
 
111
+ body:not(.rtl) #pp-404page-settings input[type="checkbox"]:enabled:checked + label.check:after, .rtl #pp-404page-settings input[type="checkbox"] + label.check:after {
112
  left: calc(100% - 5px);
113
  transform: translateX(-100%);
114
  }
115
 
 
 
 
 
 
116
  #pp-404page-settings select {
117
  border: 1px solid #104060;
118
  border-radius:5px;
assets/js/404page-ui.js CHANGED
@@ -9,5 +9,4 @@ jQuery(document).ready(function($) {
9
  $( '#test_404_page' ).click(function() {
10
  window.location.href = $( '#404page_test_link' ).text();
11
  });
12
- $( '#pp-404page-settings-advanced' ).accordion({ collapsible: true, active: false });
13
  });
9
  $( '#test_404_page' ).click(function() {
10
  window.location.href = $( '#404page_test_link' ).text();
11
  });
 
12
  });
inc/class-404page.php CHANGED
@@ -44,7 +44,7 @@ if ( !class_exists( 'PP_404Page' ) ) {
44
  $this->_file = $file;
45
  $this->plugin_name = '404page';
46
  $this->plugin_slug = '404page';
47
- $this->version = '3.2';
48
  $this->get_settings();
49
  $this->load();
50
  }
@@ -74,8 +74,8 @@ if ( !class_exists( 'PP_404Page' ) ) {
74
  private function load() {
75
 
76
  $this->wp_url = 'https://wordpress.org/plugins/' . $this->plugin_slug;
77
- $this->my_url = 'http://petersplugins.com/free-wordpress-plugins/' . $this->plugin_slug;
78
- $this->dc_url = 'http://petersplugins.com/docs/' . $this->plugin_slug;
79
 
80
  add_action( 'init', array( $this, 'add_text_domain' ) );
81
  add_action( 'init', array( $this, 'init' ) );
@@ -538,7 +538,7 @@ if ( !class_exists( 'PP_404Page' ) ) {
538
  */
539
  function admin_style() {
540
 
541
- echo '<style type="text/css">#pp-plugin-info-404page{ min-height: 48px; line-height: 48px; vertical-align: middle; padding-left: 60px; background-image: url(' . plugins_url( 'assets/pluginicon.png', $this->_file ) .'); background-repeat: no-repeat; background-position: left center;}#pp-plugin-info-404page span{float: right; padding-left: 50px;}#pp-plugin-info-404page .dashicons{ vertical-align: middle; }#select404page {width: 100%; }';
542
 
543
  if ( $this->settings['404page_page_id'] > 0 ) {
544
 
@@ -996,8 +996,6 @@ if ( !class_exists( 'PP_404Page' ) ) {
996
 
997
  if ( get_current_screen()->id == $this->admin_handle ) {
998
 
999
- wp_enqueue_script( 'jquery-ui-accordion' );
1000
-
1001
  wp_enqueue_script( '404page-ui', plugins_url( 'assets/js/404page-ui.js', $this->_file ), 'jquery', $this->version, true );
1002
 
1003
  }
@@ -1017,16 +1015,14 @@ if ( !class_exists( 'PP_404Page' ) ) {
1017
  }
1018
  ?>
1019
  <div class="wrap" id="pp-404page-settings">
1020
- <h1 id="pp-plugin-info-404page"><?php echo $this->plugin_name; ?> <?php _e( 'Settings', '404page' ); ?><span><a class="dashicons dashicons-wordpress" href="<?php echo $this->wp_url; ?>/" title="<?php _e( 'wordpress.org plugin directory', '404page' ); ?>"></a> <a class="dashicons dashicons-admin-home" href="http://petersplugins.com/" title="<?php _e( 'Author homepage', '404page' );?>"></a> <a class="dashicons dashicons-googleplus" href="http://g.petersplugins.com/" title="<?php _e( 'Authors Google+ Page', '404page' ); ?>"></a> <a class="dashicons dashicons-facebook-alt" href="http://f.petersplugins.com/" title="<?php _e( 'Authors facebook Page', '404page' ); ?>"></a> <a class="dashicons dashicons-book-alt" href="<?php echo $this->dc_url; ?>" title="<?php _e( 'Plugin Doc', '404page' ); ?>"></a> <a class="dashicons dashicons-editor-help" href="http://wordpress.org/support/plugin/<?php echo $this->plugin_slug; ?>/" title="<?php _e( 'Support', '404page'); ?>"></a> <a class="dashicons dashicons-admin-comments" href="http://petersplugins.com/contact/" title="<?php _e( 'Contact Author', '404page' ); ?>"></a></span></h1>
1021
  <?php settings_errors(); ?>
1022
  <form method="post" action="options.php">
1023
  <?php settings_fields( '404page_settings' ); ?>
1024
  <?php do_settings_sections( '404page_settings_section' ); ?>
1025
- <div id="pp-404page-settings-advanced">
1026
  <h3>Advanced Settings</h3>
1027
- <div>
1028
- <?php do_settings_sections( '404page_settings_section_advanced' ); ?>
1029
- </div>
1030
  </div>
1031
  <?php submit_button(); ?>
1032
  </form>
@@ -1044,7 +1040,7 @@ if ( !class_exists( 'PP_404Page' ) ) {
1044
  if ( current_user_can( 'manage_options' ) && get_user_meta( get_current_user_id(), 'pp-404page-admin-notice-1', true ) != 'dismissed' ) {
1045
  ?>
1046
  <div class="notice is-dismissible pp-404page-admin-notice" id="pp-404page-admin-notice-1">
1047
- <p><img src="<?php echo plugins_url( 'assets/pluginicon.png', $this->_file ); ?>" style="width: 48px; height: 48px; float: left; margin-right: 20px" /><strong><?php _e( 'Do you like the 404page plugin?', '404page' ); ?></strong><br /><?php _e( 'Follow me:', '404page' ); ?> <a class="dashicons dashicons-googleplus" href="http://g.petersplugins.com/" title="<?php _e( 'Authors Google+ Page', '404page' ); ?>"></a> <a class="dashicons dashicons-facebook-alt" href="http://f.petersplugins.com/" title="<?php _e( 'Authors facebook Page', '404page' ); ?>"></a><div class="clear"></div></p>
1048
  </div>
1049
  <?php
1050
  }
@@ -1273,7 +1269,7 @@ if ( !class_exists( 'PP_404Page' ) ) {
1273
  */
1274
  function add_settings_links( $links ) {
1275
 
1276
- return array_merge( $links, array( '<a class="dashicons dashicons-admin-tools" href="' . admin_url( 'themes.php?page=404pagesettings' ) . '" title="' . __( 'Settings', '404page' ) . '"></a>', '<a class="dashicons dashicons-star-filled" href="https://wordpress.org/support/plugin/' . $this->plugin_slug . '/reviews/" title="' . __( 'Please rate plugin', '404page' ) . '"></a>' ) );
1277
 
1278
  }
1279
 
44
  $this->_file = $file;
45
  $this->plugin_name = '404page';
46
  $this->plugin_slug = '404page';
47
+ $this->version = '3.3';
48
  $this->get_settings();
49
  $this->load();
50
  }
74
  private function load() {
75
 
76
  $this->wp_url = 'https://wordpress.org/plugins/' . $this->plugin_slug;
77
+ $this->my_url = 'https://petersplugins.com/free-wordpress-plugins/' . $this->plugin_slug;
78
+ $this->dc_url = 'https://petersplugins.com/docs/' . $this->plugin_slug;
79
 
80
  add_action( 'init', array( $this, 'add_text_domain' ) );
81
  add_action( 'init', array( $this, 'init' ) );
538
  */
539
  function admin_style() {
540
 
541
+ echo '<style type="text/css">#pp-plugin-info-404page { background-image: url(' . plugins_url( 'assets/pluginicon.png', $this->_file ) .'); }';
542
 
543
  if ( $this->settings['404page_page_id'] > 0 ) {
544
 
996
 
997
  if ( get_current_screen()->id == $this->admin_handle ) {
998
 
 
 
999
  wp_enqueue_script( '404page-ui', plugins_url( 'assets/js/404page-ui.js', $this->_file ), 'jquery', $this->version, true );
1000
 
1001
  }
1015
  }
1016
  ?>
1017
  <div class="wrap" id="pp-404page-settings">
1018
+ <h1 id="pp-plugin-info-404page"><?php echo $this->plugin_name; ?> <?php _e( 'Settings', '404page' ); ?><span><a class="dashicons dashicons-wordpress" href="<?php echo $this->wp_url; ?>/" title="<?php _e( 'wordpress.org plugin directory', '404page' ); ?>"></a> <a class="dashicons dashicons-admin-home" href="https://petersplugins.com/" title="<?php _e( 'Author homepage', '404page' );?>"></a> <a class="dashicons dashicons-googleplus" href="https://plus.google.com/+petersplugins" title="<?php _e( 'Authors Google+ Page', '404page' ); ?>"></a> <a class="dashicons dashicons-facebook-alt" href="https://www.facebook.com/petersplugins" title="<?php _e( 'Authors facebook Page', '404page' ); ?>"></a> <a class="dashicons dashicons-book-alt" href="<?php echo $this->dc_url; ?>" title="<?php _e( 'Plugin Doc', '404page' ); ?>"></a> <a class="dashicons dashicons-editor-help" href="https://wordpress.org/support/plugin/<?php echo $this->plugin_slug; ?>/" title="<?php _e( 'Support', '404page'); ?>"></a> <a class="dashicons dashicons-admin-comments" href="https://petersplugins.com/contact/" title="<?php _e( 'Contact Author', '404page' ); ?>"></a></span></h1>
1019
  <?php settings_errors(); ?>
1020
  <form method="post" action="options.php">
1021
  <?php settings_fields( '404page_settings' ); ?>
1022
  <?php do_settings_sections( '404page_settings_section' ); ?>
1023
+ <div id="pp-seetings-advanced">
1024
  <h3>Advanced Settings</h3>
1025
+ <?php do_settings_sections( '404page_settings_section_advanced' ); ?>
 
 
1026
  </div>
1027
  <?php submit_button(); ?>
1028
  </form>
1040
  if ( current_user_can( 'manage_options' ) && get_user_meta( get_current_user_id(), 'pp-404page-admin-notice-1', true ) != 'dismissed' ) {
1041
  ?>
1042
  <div class="notice is-dismissible pp-404page-admin-notice" id="pp-404page-admin-notice-1">
1043
+ <p><img src="<?php echo plugins_url( 'assets/pluginicon.png', $this->_file ); ?>" style="width: 48px; height: 48px; float: left; margin-right: 20px" /><strong><?php _e( 'Do you like the 404page plugin?', '404page' ); ?></strong><br /><?php _e( 'Follow me:', '404page' ); ?> <a class="dashicons dashicons-googleplus" href="https://plus.google.com/+petersplugins" title="<?php _e( 'Authors Google+ Page', '404page' ); ?>"></a> <a class="dashicons dashicons-facebook-alt" href="https://www.facebook.com/petersplugins" title="<?php _e( 'Authors facebook Page', '404page' ); ?>"></a><div class="clear"></div></p>
1044
  </div>
1045
  <?php
1046
  }
1269
  */
1270
  function add_settings_links( $links ) {
1271
 
1272
+ return array_merge( $links, array( '<a href="' . admin_url( 'themes.php?page=404pagesettings' ) . '" title="' . __( 'Settings', '404page' ) . '">' . __( 'Settings', '404page' ) . '</a>', '<a href="https://wordpress.org/support/plugin/' . $this->plugin_slug . '/reviews/" title="' . __( 'Please rate plugin', '404page' ) . '">' . __( 'Please rate plugin', '404page' ) . '</a>' ) );
1273
 
1274
  }
1275
 
readme.txt CHANGED
@@ -1,10 +1,11 @@
1
  === 404page - your smart custom 404 error page ===
2
  Contributors: petersplugins
3
- Donate link: http://petersplugins.com/make-a-donation/
4
  Tags: page, 404, error, error page, 404 page, page not found, page not found error, 404 error page, missing, broken link, template, 404 link, seo, custom 404, custom 404 page, custom 404 error, custom 404 error page, customize 404, customize 404 page, customize 404 error page
5
  Requires at least: 3.0
6
- Tested up to: 4.8
7
- Stable tag: 3.2
 
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -12,7 +13,7 @@ Custom 404 the easy way! Set any page as custom 404 error page. No coding needed
12
 
13
  == Description ==
14
 
15
- <strong>The 404page plugin is the most used plugin to create a customized 404 error page in WordPress.</strong>
16
 
17
  It allows you to easily create your own 404 error page without any effort and it works with almost every theme.
18
 
@@ -31,8 +32,11 @@ Create your custom 404 error page just like any other page using the WordPress P
31
 
32
  = Docs & Support =
33
 
 
 
34
  More detailed information about the 404page plugin can be found in the [Plugin Manual](http://petersplugins.com/docs/404page/). For support check the [Support Forum](https://wordpress.org/support/plugin/404page).
35
 
 
36
  == Compatibility ==
37
 
38
  = The 404page plugin was sucessfully tested by the author with the following themes =
@@ -115,6 +119,10 @@ The 404page plugin adds a CSS class `error404` to the `<body>` tag which can be
115
 
116
  == Changelog ==
117
 
 
 
 
 
118
  = 3.2 (2017-10-05) =
119
  * new feature to send an HTTP 410 error for deleted objects
120
 
@@ -199,6 +207,9 @@ The 404page plugin adds a CSS class `error404` to the `<body>` tag which can be
199
 
200
  == Upgrade Notice ==
201
 
 
 
 
202
  = 3.2 =
203
  new feature to send an HTTP 410 error for deleted objects
204
 
1
  === 404page - your smart custom 404 error page ===
2
  Contributors: petersplugins
3
+ Donate link: https://petersplugins.com/make-a-donation/
4
  Tags: page, 404, error, error page, 404 page, page not found, page not found error, 404 error page, missing, broken link, template, 404 link, seo, custom 404, custom 404 page, custom 404 error, custom 404 error page, customize 404, customize 404 page, customize 404 error page
5
  Requires at least: 3.0
6
+ Tested up to: 4.9
7
+ Stable tag: 3.3
8
+ Requires PHP: 5.4
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
13
 
14
  == Description ==
15
 
16
+ <strong>The [404page](https://petersplugins.com/free-wordpress-plugins/404page/) plugin is the most used plugin to create a customized 404 error page in WordPress.</strong>
17
 
18
  It allows you to easily create your own 404 error page without any effort and it works with almost every theme.
19
 
32
 
33
  = Docs & Support =
34
 
35
+ Video: [A quick Overview over the Advanced Settings](https://youtu.be/9rL9LbYiSJk=)
36
+
37
  More detailed information about the 404page plugin can be found in the [Plugin Manual](http://petersplugins.com/docs/404page/). For support check the [Support Forum](https://wordpress.org/support/plugin/404page).
38
 
39
+
40
  == Compatibility ==
41
 
42
  = The 404page plugin was sucessfully tested by the author with the following themes =
119
 
120
  == Changelog ==
121
 
122
+ = 3.3 (2017-11-16) =
123
+ * support for right-to-left-languages added
124
+ * faulty display in WP 4.9 fixed
125
+
126
  = 3.2 (2017-10-05) =
127
  * new feature to send an HTTP 410 error for deleted objects
128
 
207
 
208
  == Upgrade Notice ==
209
 
210
+ = 3.3 =
211
+ support for right-to-left-languages
212
+
213
  = 3.2 =
214
  new feature to send an HTTP 410 error for deleted objects
215