Related Posts for WordPress - Version 1.5.0

Version Description

Download this release

Release Info

Developer barrykooij
Plugin Icon 128x128 Related Posts for WordPress
Version 1.5.0
Comparing to
See all releases

Code changes from version 1.4.1 to 1.5.0

Files changed (43) hide show
  1. assets/js/install.js +4 -4
  2. classes/class-autoloader.php +1 -1
  3. classes/class-cap-manager.php +1 -1
  4. classes/class-class-manager.php +1 -1
  5. classes/class-constants.php +3 -1
  6. classes/class-installer.php +1 -1
  7. classes/class-is-installing-notice.php +3 -3
  8. classes/class-javascript-strings.php +2 -2
  9. classes/class-link-related-table.php +7 -7
  10. classes/class-manager-filter.php +3 -3
  11. classes/class-manager-hook.php +3 -3
  12. classes/class-nag-manager.php +3 -3
  13. classes/class-post-link-manager.php +4 -4
  14. classes/class-related-post-manager.php +2 -2
  15. classes/class-related-posts-widget.php +43 -0
  16. classes/class-related-word-manager.php +5 -5
  17. classes/class-settings.php +4 -4
  18. classes/filters/class-filter-after-post.php +3 -3
  19. classes/filters/class-filter-plugin-links.php +2 -2
  20. classes/filters/class-filter.php +1 -2
  21. classes/hooks/class-hook-admin-scripts.php +2 -2
  22. classes/hooks/class-hook-ajax-delete-link.php +3 -3
  23. classes/hooks/class-hook-ajax-install-link-posts.php +1 -1
  24. classes/hooks/class-hook-ajax-install-save-words.php +4 -2
  25. classes/hooks/class-hook-frontend-css.php +1 -1
  26. classes/hooks/class-hook-link-related-screen.php +5 -5
  27. classes/hooks/class-hook-meta-box-ajax-sort.php +3 -3
  28. classes/hooks/class-hook-meta-box.php +1 -1
  29. classes/hooks/class-hook-page-install.php +10 -4
  30. classes/hooks/class-hook-post-type.php +1 -1
  31. classes/hooks/class-hook-related-auto-link.php +3 -3
  32. classes/hooks/class-hook-related-save-words.php +1 -1
  33. classes/hooks/class-hook-settings-page.php +10 -10
  34. classes/hooks/class-hook-shortcode.php +1 -1
  35. classes/hooks/class-hook-widget.php +13 -0
  36. classes/hooks/class-hook.php +1 -2
  37. classes/ignored-words/de_DE.php +1 -1
  38. classes/ignored-words/fr_FR.php +1 -1
  39. classes/ignored-words/it_IT.php +1 -1
  40. classes/ignored-words/nl_NL.php +4 -2
  41. classes/meta-boxes/class-meta-box-manage.php +5 -5
  42. readme.txt +12 -1
  43. related-posts-for-wp.php +3 -3
assets/js/install.js CHANGED
@@ -44,11 +44,11 @@ jQuery(document).ready(function ($) {
44
  // Do request
45
  instance.do_request();
46
 
47
- } else if( 'done' == response ) {
48
  // Done
49
  instance.done();
50
- }else {
51
- alert( "Woops! Something went wrong while linking.\n\nResponse:\n\n" + response );
52
  }
53
 
54
  });
@@ -78,7 +78,7 @@ jQuery(document).ready(function ($) {
78
  // Set the correct action
79
  switch (this.step) {
80
  case 1:
81
- this.ppr = 200;
82
  this.action = 'rp4wp_install_save_words';
83
  break;
84
  case 2:
44
  // Do request
45
  instance.do_request();
46
 
47
+ } else if ('done' == response) {
48
  // Done
49
  instance.done();
50
+ } else {
51
+ alert("Woops! Something went wrong while linking.\n\nResponse:\n\n" + response);
52
  }
53
 
54
  });
78
  // Set the correct action
79
  switch (this.step) {
80
  case 1:
81
+ this.ppr = 100;
82
  this.action = 'rp4wp_install_save_words';
83
  break;
84
  case 2:
classes/class-autoloader.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
classes/class-cap-manager.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
classes/class-class-manager.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
classes/class-constants.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -25,5 +25,7 @@ abstract class RP4WP_Constants {
25
  const OPTION_INSTALL_DATE = 'rp4wp_install_date';
26
  const OPTION_ADMIN_NOTICE_KEY = 'rp4wp_hide_nag';
27
 
 
 
28
 
29
  }
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
25
  const OPTION_INSTALL_DATE = 'rp4wp_install_date';
26
  const OPTION_ADMIN_NOTICE_KEY = 'rp4wp_hide_nag';
27
 
28
+ const NONCE_REINSTALL = 'rp4wp-reinstall-secret';
29
+
30
 
31
  }
classes/class-installer.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
classes/class-is-installing-notice.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
 
8
- if ( !class_exists( 'RP4WP_Is_Installing_Notice' ) ) {
9
 
10
  /**
11
  * Class RP4WP_Is_Installing_Notice
@@ -42,7 +42,7 @@ if ( !class_exists( 'RP4WP_Is_Installing_Notice' ) ) {
42
  }
43
 
44
  // Check if we are currently installing
45
- if ( get_site_option( RP4WP_Constants::OPTION_IS_INSTALLING, false ) && ( !isset( $_GET['page'] ) || 'rp4wp_install' != $_GET['page'] ) ) {
46
  $this->display();
47
  }
48
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
 
8
+ if ( ! class_exists( 'RP4WP_Is_Installing_Notice' ) ) {
9
 
10
  /**
11
  * Class RP4WP_Is_Installing_Notice
42
  }
43
 
44
  // Check if we are currently installing
45
+ if ( get_site_option( RP4WP_Constants::OPTION_IS_INSTALLING, false ) && ( ! isset( $_GET['page'] ) || 'rp4wp_install' != $_GET['page'] ) ) {
46
  $this->display();
47
  }
48
 
classes/class-javascript-strings.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
- if ( !class_exists( 'RP4WP_Javascript_Strings' ) ) {
8
  class RP4WP_Javascript_Strings {
9
 
10
  private static $value = null;
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
+ if ( ! class_exists( 'RP4WP_Javascript_Strings' ) ) {
8
  class RP4WP_Javascript_Strings {
9
 
10
  private static $value = null;
classes/class-link-related-table.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
- if ( !class_exists( 'WP_List_Table' ) ) {
8
  require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
9
  }
10
 
@@ -53,7 +53,7 @@ class RP4WP_Link_Related_Table extends WP_List_Table {
53
  foreach ( $views_arr as $key => $val ) {
54
  $new_views[$key] = "<a href='" . add_query_arg( array(
55
  'rp4wp_view' => $key,
56
- 'paged' => 1
57
  ) ) . "'" . ( ( $current == $key ) ? " class='current'" : "" ) . ">{$val}</a>";
58
  }
59
 
@@ -154,7 +154,7 @@ class RP4WP_Link_Related_Table extends WP_List_Table {
154
  remove_filter( 'posts_where', array( $this, 'filter_posts_where' ) );
155
 
156
  // Sort
157
- if ( !$this->is_related ) {
158
  if ( count( $this->data ) > 0 ) {
159
  usort( $this->data, array( $this, 'custom_reorder' ) );
160
  }
@@ -171,7 +171,7 @@ class RP4WP_Link_Related_Table extends WP_List_Table {
171
  */
172
  public function get_sortable_columns() {
173
  $sortable_columns = array();
174
- if ( !$this->is_related ) {
175
  $sortable_columns['title'] = array( 'title', false );
176
  }
177
 
@@ -188,9 +188,9 @@ class RP4WP_Link_Related_Table extends WP_List_Table {
188
  */
189
  public function custom_reorder( $a, $b ) {
190
  // If no sort, default to title
191
- $orderby = ( !empty( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'title';
192
  // If no order, default to asc
193
- $order = ( !empty( $_GET['order'] ) ) ? $_GET['order'] : 'asc';
194
  // Determine sort order
195
  $result = strcmp( $a[$orderby], $b[$orderby] );
196
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
+ if ( ! class_exists( 'WP_List_Table' ) ) {
8
  require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
9
  }
10
 
53
  foreach ( $views_arr as $key => $val ) {
54
  $new_views[$key] = "<a href='" . add_query_arg( array(
55
  'rp4wp_view' => $key,
56
+ 'paged' => 1
57
  ) ) . "'" . ( ( $current == $key ) ? " class='current'" : "" ) . ">{$val}</a>";
58
  }
59
 
154
  remove_filter( 'posts_where', array( $this, 'filter_posts_where' ) );
155
 
156
  // Sort
157
+ if ( ! $this->is_related ) {
158
  if ( count( $this->data ) > 0 ) {
159
  usort( $this->data, array( $this, 'custom_reorder' ) );
160
  }
171
  */
172
  public function get_sortable_columns() {
173
  $sortable_columns = array();
174
+ if ( ! $this->is_related ) {
175
  $sortable_columns['title'] = array( 'title', false );
176
  }
177
 
188
  */
189
  public function custom_reorder( $a, $b ) {
190
  // If no sort, default to title
191
+ $orderby = ( ! empty( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'title';
192
  // If no order, default to asc
193
+ $order = ( ! empty( $_GET['order'] ) ) ? $_GET['order'] : 'asc';
194
  // Determine sort order
195
  $result = strcmp( $a[$orderby], $b[$orderby] );
196
 
classes/class-manager-filter.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
- if ( !class_exists( 'RP4WP_Manager_Filter' ) ) {
8
 
9
  class RP4WP_Manager_Filter {
10
 
@@ -39,7 +39,7 @@ if ( !class_exists( 'RP4WP_Manager_Filter' ) ) {
39
 
40
  foreach ( new DirectoryIterator( $this->filter_dir ) as $file ) {
41
 
42
- if ( !$file->isDir() && ( strpos( $file->getFileName(), '.' ) !== 0 ) ) {
43
 
44
  $class = RP4WP_Class_Manager::format_class_name( $file->getFileName() );
45
  if ( 'RP4WP_Filter' != $class ) {
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
+ if ( ! class_exists( 'RP4WP_Manager_Filter' ) ) {
8
 
9
  class RP4WP_Manager_Filter {
10
 
39
 
40
  foreach ( new DirectoryIterator( $this->filter_dir ) as $file ) {
41
 
42
+ if ( ! $file->isDir() && ( strpos( $file->getFileName(), '.' ) !== 0 ) ) {
43
 
44
  $class = RP4WP_Class_Manager::format_class_name( $file->getFileName() );
45
  if ( 'RP4WP_Filter' != $class ) {
classes/class-manager-hook.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
- if ( !class_exists( 'RP4WP_Manager_Hook' ) ) {
8
 
9
  class RP4WP_Manager_Hook {
10
 
@@ -26,7 +26,7 @@ if ( !class_exists( 'RP4WP_Manager_Hook' ) ) {
26
 
27
  foreach ( new DirectoryIterator( $this->hook_dir ) as $file ) {
28
 
29
- if ( !$file->isDir() && ( strpos( $file->getFileName(), '.' ) !== 0 ) ) {
30
 
31
  $class = RP4WP_Class_Manager::format_class_name( $file->getFileName() );
32
  if ( 'RP4WP_Hook' != $class ) {
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
+ if ( ! class_exists( 'RP4WP_Manager_Hook' ) ) {
8
 
9
  class RP4WP_Manager_Hook {
10
 
26
 
27
  foreach ( new DirectoryIterator( $this->hook_dir ) as $file ) {
28
 
29
+ if ( ! $file->isDir() && ( strpos( $file->getFileName(), '.' ) !== 0 ) ) {
30
 
31
  $class = RP4WP_Class_Manager::format_class_name( $file->getFileName() );
32
  if ( 'RP4WP_Hook' != $class ) {
classes/class-nag-manager.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
- if ( !class_exists( 'RP4WP_Nag_Manager' ) ) {
8
  class RP4WP_Nag_Manager {
9
 
10
  /**
@@ -72,7 +72,7 @@ if ( !class_exists( 'RP4WP_Nag_Manager' ) ) {
72
  $current_user = wp_get_current_user();
73
 
74
  // Get user meta
75
- $hide_notice = get_user_meta( $current_user->ID, RP4WP_Constants::OPTION_ADMIN_NOTICE_KEY, true );
76
 
77
  // Check if the notice is already dismissed
78
  if ( '' == $hide_notice ) {
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
+ if ( ! class_exists( 'RP4WP_Nag_Manager' ) ) {
8
  class RP4WP_Nag_Manager {
9
 
10
  /**
72
  $current_user = wp_get_current_user();
73
 
74
  // Get user meta
75
+ $hide_notice = get_user_meta( $current_user->ID, RP4WP_Constants::OPTION_ADMIN_NOTICE_KEY, true );
76
 
77
  // Check if the notice is already dismissed
78
  if ( '' == $hide_notice ) {
classes/class-post-link-manager.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -158,7 +158,7 @@ class RP4WP_Post_Link_Manager {
158
  * Check $extra_args for `order`.
159
  * If 'order' is set without 'orderby', we should add it to the link arguments
160
  */
161
- if ( isset( $extra_args['order'] ) && !isset( $extra_args['orderby'] ) ) {
162
  $link_args['order'] = $extra_args['order'];
163
  unset( $extra_args['order'] );
164
  }
@@ -176,7 +176,7 @@ class RP4WP_Post_Link_Manager {
176
  // Get children with custom args
177
  if ( $extra_args !== null && count( $extra_args ) > 0 ) {
178
 
179
- if ( !isset( $extra_args['orderby'] ) ) {
180
  $this->temp_child_order = array();
181
  foreach ( $child_ids as $child_id ) {
182
  $this->temp_child_order[] = $child_id;
@@ -208,7 +208,7 @@ class RP4WP_Post_Link_Manager {
208
  endwhile;
209
 
210
  // Fix sorting
211
- if ( !isset( $extra_args['orderby'] ) ) {
212
  uasort( $children, array( $this, 'sort_get_children_children' ) );
213
  }
214
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
158
  * Check $extra_args for `order`.
159
  * If 'order' is set without 'orderby', we should add it to the link arguments
160
  */
161
+ if ( isset( $extra_args['order'] ) && ! isset( $extra_args['orderby'] ) ) {
162
  $link_args['order'] = $extra_args['order'];
163
  unset( $extra_args['order'] );
164
  }
176
  // Get children with custom args
177
  if ( $extra_args !== null && count( $extra_args ) > 0 ) {
178
 
179
+ if ( ! isset( $extra_args['orderby'] ) ) {
180
  $this->temp_child_order = array();
181
  foreach ( $child_ids as $child_id ) {
182
  $this->temp_child_order[] = $child_id;
208
  endwhile;
209
 
210
  // Fix sorting
211
+ if ( ! isset( $extra_args['orderby'] ) ) {
212
  uasort( $children, array( $this, 'sort_get_children_children' ) );
213
  }
214
 
classes/class-related-post-manager.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -47,7 +47,7 @@ class RP4WP_Related_Post_Manager {
47
 
48
  if ( count( $rposts ) > 0 ) {
49
  foreach ( $rposts as $rpost ) {
50
- if ( !isset( $related_posts[$rpost->ID] ) ) {
51
  $related_posts[] = $rpost;
52
  }
53
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
47
 
48
  if ( count( $rposts ) > 0 ) {
49
  foreach ( $rposts as $rpost ) {
50
+ if ( ! isset( $related_posts[$rpost->ID] ) ) {
51
  $related_posts[] = $rpost;
52
  }
53
 
classes/class-related-posts-widget.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ } // Exit if accessed directly
6
+
7
+ class RP4WP_Related_Posts_Widget extends WP_Widget {
8
+
9
+ public function __construct() {
10
+ // Parent construct
11
+ parent::__construct(
12
+ 'rp4wp_related_posts_widget',
13
+ __( 'Related Posts for WordPress', 'related-posts-for-wp' ),
14
+ array( 'description' => __( 'Display related posts.', 'related-posts-for-wp' ) )
15
+ );
16
+ }
17
+
18
+ public function widget( $args, $instance ) {
19
+
20
+ // Get the current ID
21
+ $id = get_the_ID();
22
+
23
+ // Not on frontpage please
24
+ if ( is_front_page() && false === is_page() ) {
25
+ return;
26
+ }
27
+
28
+ // Post Link Manager
29
+ $pl_manager = new RP4WP_Post_Link_Manager();
30
+
31
+ // Get content
32
+ $widget_content = $pl_manager->generate_children_list( $id );
33
+
34
+ // Only display if there's content
35
+ if ( '' != $widget_content ) {
36
+ // Output the widget
37
+ echo $args['before_widget'];
38
+ echo $widget_content;
39
+ echo $args['after_widget'];
40
+ }
41
+
42
+ }
43
+ }
classes/class-related-word-manager.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -31,7 +31,7 @@ class RP4WP_Related_Word_Manager {
31
  foreach ( $ignored_words as $word ) {
32
 
33
  // Only add word if it's not already added
34
- if ( !in_array( $word, $temp_words ) ) {
35
  if ( false !== strpos( $word, "Ã" ) ) {
36
  continue;
37
  }
@@ -79,7 +79,7 @@ class RP4WP_Related_Word_Manager {
79
  $filename = dirname( __FILE__ ) . $relative_path;
80
 
81
  // Check if file exists
82
- if ( !file_exists( $filename ) ) {
83
  return array();
84
  }
85
 
@@ -87,7 +87,7 @@ class RP4WP_Related_Word_Manager {
87
  $ignored_words = require( $filename );
88
 
89
  // Check if the the $ignored_words are set
90
- if ( is_null( $ignored_words ) || !is_array( $ignored_words ) ) {
91
  return array();
92
  }
93
 
@@ -183,7 +183,7 @@ class RP4WP_Related_Word_Manager {
183
  */
184
  private function add_words_from_array( array $base_words, $words, $weight = 1 ) {
185
 
186
- if ( !is_array( $words ) ) {
187
  return $base_words;
188
  }
189
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
31
  foreach ( $ignored_words as $word ) {
32
 
33
  // Only add word if it's not already added
34
+ if ( ! in_array( $word, $temp_words ) ) {
35
  if ( false !== strpos( $word, "Ã" ) ) {
36
  continue;
37
  }
79
  $filename = dirname( __FILE__ ) . $relative_path;
80
 
81
  // Check if file exists
82
+ if ( ! file_exists( $filename ) ) {
83
  return array();
84
  }
85
 
87
  $ignored_words = require( $filename );
88
 
89
  // Check if the the $ignored_words are set
90
+ if ( is_null( $ignored_words ) || ! is_array( $ignored_words ) ) {
91
  return array();
92
  }
93
 
183
  */
184
  private function add_words_from_array( array $base_words, $words, $weight = 1 ) {
185
 
186
+ if ( ! is_array( $words ) ) {
187
  return $base_words;
188
  }
189
 
classes/class-settings.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -96,7 +96,7 @@ class RP4WP_Settings {
96
  'label' => __( 'Restart the wizard?', 'related-posts-for-wp' ),
97
  'description' => __( "Click this button if you want to restart the wizard. Please note that this will delete all current related post links, also those you've manually added. Of course, we will never delete your actual posts.", 'related-posts-for-wp' ),
98
  'type' => 'button_link',
99
- 'href' => admin_url( '?page=rp4wp_install&reinstall=1' ),
100
  'default' => __( 'Restart wizard', '' ),
101
  ),
102
  ) ),
@@ -231,12 +231,12 @@ class RP4WP_Settings {
231
  public function sanitize_option( $post_data ) {
232
 
233
  // Unset automatic_linking if not set in post
234
- if ( !isset( $post_data['automatic_linking'] ) ) {
235
  $post_data['automatic_linking'] = 0;
236
  }
237
 
238
  // Unset display_image if not set in post
239
- if ( !isset( $post_data['display_image'] ) ) {
240
  $post_data['display_image'] = 0;
241
  }
242
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
96
  'label' => __( 'Restart the wizard?', 'related-posts-for-wp' ),
97
  'description' => __( "Click this button if you want to restart the wizard. Please note that this will delete all current related post links, also those you've manually added. Of course, we will never delete your actual posts.", 'related-posts-for-wp' ),
98
  'type' => 'button_link',
99
+ 'href' => admin_url( '?page=rp4wp_install&reinstall=1&rp4wp_nonce=' . wp_create_nonce( RP4WP_Constants::NONCE_REINSTALL ) ),
100
  'default' => __( 'Restart wizard', '' ),
101
  ),
102
  ) ),
231
  public function sanitize_option( $post_data ) {
232
 
233
  // Unset automatic_linking if not set in post
234
+ if ( ! isset( $post_data['automatic_linking'] ) ) {
235
  $post_data['automatic_linking'] = 0;
236
  }
237
 
238
  // Unset display_image if not set in post
239
+ if ( ! isset( $post_data['display_image'] ) ) {
240
  $post_data['display_image'] = 0;
241
  }
242
 
classes/filters/class-filter-after-post.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -24,12 +24,12 @@ class RP4WP_Filter_After_Post extends RP4WP_Filter {
24
  global $id;
25
 
26
  // Only run on single
27
- if ( !is_singular() || !is_main_query() || $id != get_queried_object_id() ) {
28
  return $content;
29
  }
30
 
31
  // Allow disabling content filter
32
- if( false === apply_filters( 'rp4wp_append_content', true ) ) {
33
  return $content;
34
  }
35
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
24
  global $id;
25
 
26
  // Only run on single
27
+ if ( ! is_singular() || ! is_main_query() || $id != get_queried_object_id() ) {
28
  return $content;
29
  }
30
 
31
  // Allow disabling content filter
32
+ if ( false === apply_filters( 'rp4wp_append_content', true ) ) {
33
  return $content;
34
  }
35
 
classes/filters/class-filter-plugin-links.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
- if ( !class_exists( 'RP4WP_Filter_Plugin_Links' ) ) {
8
 
9
  class RP4WP_Filter_Plugin_Links extends RP4WP_Filter {
10
  protected $tag = 'plugin_action_links_related-posts-for-wp/related-posts-for-wp.php';
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
+ if ( ! class_exists( 'RP4WP_Filter_Plugin_Links' ) ) {
8
 
9
  class RP4WP_Filter_Plugin_Links extends RP4WP_Filter {
10
  protected $tag = 'plugin_action_links_related-posts-for-wp/related-posts-for-wp.php';
classes/filters/class-filter.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -61,5 +61,4 @@ abstract class RP4WP_Filter {
61
  }
62
 
63
 
64
-
65
  }
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
61
  }
62
 
63
 
 
64
  }
classes/hooks/class-hook-admin-scripts.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -16,7 +16,7 @@ class RP4WP_Hook_Admin_Scripts extends RP4WP_Hook {
16
  // Load PL JS
17
  wp_enqueue_script(
18
  'rp4wp_edit_post_js',
19
- plugins_url( '/assets/js/edit-post' . ( ( !SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', RP4WP::get_plugin_file() ),
20
  array( 'jquery', 'jquery-ui-sortable' )
21
  );
22
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
16
  // Load PL JS
17
  wp_enqueue_script(
18
  'rp4wp_edit_post_js',
19
+ plugins_url( '/assets/js/edit-post' . ( ( ! SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', RP4WP::get_plugin_file() ),
20
  array( 'jquery', 'jquery-ui-sortable' )
21
  );
22
 
classes/hooks/class-hook-ajax-delete-link.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -16,7 +16,7 @@ class RP4WP_Hook_Ajax_Delete_Link extends RP4WP_Hook {
16
  public function run() {
17
 
18
  // id,
19
- if ( !isset( $_POST['id'] ) ) {
20
  exit;
21
  }
22
 
@@ -27,7 +27,7 @@ class RP4WP_Hook_Ajax_Delete_Link extends RP4WP_Hook {
27
  check_ajax_referer( 'rp4wp-ajax-nonce-omgrandomword', 'nonce' );
28
 
29
  // Check if user is allowed to do this
30
- if ( !current_user_can( 'edit_posts' ) ) {
31
  return;
32
  }
33
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
16
  public function run() {
17
 
18
  // id,
19
+ if ( ! isset( $_POST['id'] ) ) {
20
  exit;
21
  }
22
 
27
  check_ajax_referer( 'rp4wp-ajax-nonce-omgrandomword', 'nonce' );
28
 
29
  // Check if user is allowed to do this
30
+ if ( ! current_user_can( 'edit_posts' ) ) {
31
  return;
32
  }
33
 
classes/hooks/class-hook-ajax-install-link-posts.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
classes/hooks/class-hook-ajax-install-save-words.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -9,11 +9,13 @@ class RP4WP_Hook_Ajax_Install_Save_Words extends RP4WP_Hook {
9
 
10
  public function run() {
11
 
 
 
12
  // Related Post Manager
13
  $related_word_manager = new RP4WP_Related_Word_Manager();
14
 
15
  // Save 200 words
16
- if ( true === $related_word_manager->save_all_words( 200 ) ) {
17
 
18
  // Check if we're done
19
  if ( 0 == count( $related_word_manager->get_uncached_posts( 1 ) ) ) {
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
9
 
10
  public function run() {
11
 
12
+ $rel_amount = isset( $_POST['rel_amount'] ) ? $_POST['rel_amount'] : 100;
13
+
14
  // Related Post Manager
15
  $related_word_manager = new RP4WP_Related_Word_Manager();
16
 
17
  // Save 200 words
18
+ if ( true === $related_word_manager->save_all_words( $rel_amount ) ) {
19
 
20
  // Check if we're done
21
  if ( 0 == count( $related_word_manager->get_uncached_posts( 1 ) ) ) {
classes/hooks/class-hook-frontend-css.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
classes/hooks/class-hook-link-related-screen.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -21,7 +21,7 @@ class RP4WP_Hook_Link_Related_Screen extends RP4WP_Hook {
21
  * Check if the current user is allowed to create related posts
22
  */
23
  private function check_if_allowed() {
24
- if ( !current_user_can( 'edit_posts' ) ) {
25
  wp_die( 'There was a problem loading this page, you may not have the necessary permissions.' );
26
  }
27
  }
@@ -35,7 +35,7 @@ class RP4WP_Hook_Link_Related_Screen extends RP4WP_Hook {
35
  if ( isset( $_GET['rp4wp_create_link'] ) && isset( $_GET['rp4wp_parent'] ) ) {
36
 
37
  // Check if user is allowed to do this
38
- if ( !current_user_can( 'edit_posts' ) ) {
39
  return;
40
  }
41
 
@@ -73,7 +73,7 @@ class RP4WP_Hook_Link_Related_Screen extends RP4WP_Hook {
73
  $parent = $_GET['rp4wp_parent'];
74
 
75
  // Check if user is allowed to do this
76
- if ( !current_user_can( 'edit_posts' ) ) {
77
  return;
78
  }
79
 
@@ -109,7 +109,7 @@ class RP4WP_Hook_Link_Related_Screen extends RP4WP_Hook {
109
  */
110
  public function content() {
111
 
112
- if ( !isset( $_GET['rp4wp_parent'] ) ) {
113
  wp_die( "Can't load page, no parent set. Please contact support and provide them this message" );
114
  }
115
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
21
  * Check if the current user is allowed to create related posts
22
  */
23
  private function check_if_allowed() {
24
+ if ( ! current_user_can( 'edit_posts' ) ) {
25
  wp_die( 'There was a problem loading this page, you may not have the necessary permissions.' );
26
  }
27
  }
35
  if ( isset( $_GET['rp4wp_create_link'] ) && isset( $_GET['rp4wp_parent'] ) ) {
36
 
37
  // Check if user is allowed to do this
38
+ if ( ! current_user_can( 'edit_posts' ) ) {
39
  return;
40
  }
41
 
73
  $parent = $_GET['rp4wp_parent'];
74
 
75
  // Check if user is allowed to do this
76
+ if ( ! current_user_can( 'edit_posts' ) ) {
77
  return;
78
  }
79
 
109
  */
110
  public function content() {
111
 
112
+ if ( ! isset( $_GET['rp4wp_parent'] ) ) {
113
  wp_die( "Can't load page, no parent set. Please contact support and provide them this message" );
114
  }
115
 
classes/hooks/class-hook-meta-box-ajax-sort.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -14,12 +14,12 @@ class RP4WP_Hook_Meta_Box_AJAX_Sort extends RP4WP_Hook {
14
  check_ajax_referer( 'rp4wp-ajax-nonce-omgrandomword', 'nonce' );
15
 
16
  // Check if user is allowed to do this
17
- if ( !current_user_can( 'edit_posts' ) ) {
18
  return;
19
  }
20
 
21
  // Check if the items are set
22
- if ( !isset( $_POST['rp4wp_items'] ) ) {
23
  return;
24
  }
25
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
14
  check_ajax_referer( 'rp4wp-ajax-nonce-omgrandomword', 'nonce' );
15
 
16
  // Check if user is allowed to do this
17
+ if ( ! current_user_can( 'edit_posts' ) ) {
18
  return;
19
  }
20
 
21
  // Check if the items are set
22
+ if ( ! isset( $_POST['rp4wp_items'] ) ) {
23
  return;
24
  }
25
 
classes/hooks/class-hook-meta-box.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
classes/hooks/class-hook-page-install.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -23,7 +23,7 @@ class RP4WP_Hook_Page_Install extends RP4WP_Hook {
23
  public function enqueue_install_assets() {
24
  global $wp_scripts;
25
  wp_enqueue_style( 'rp4wp-install-css', plugins_url( '/assets/css/install.css', RP4WP::get_plugin_file() ) );
26
- wp_enqueue_script( 'rp4wp-install-js', plugins_url( '/assets/js/install' . ( ( !SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', RP4WP::get_plugin_file() ), array( 'jquery', 'jquery-ui-core', 'jquery-ui-progressbar' ) );
27
  wp_enqueue_style( 'jquery-ui-smoothness', "http://ajax.googleapis.com/ajax/libs/jqueryui/" . $wp_scripts->query( 'jquery-ui-core' )->ver . "/themes/smoothness/jquery-ui.css", false, null );
28
  }
29
 
@@ -38,12 +38,18 @@ class RP4WP_Hook_Page_Install extends RP4WP_Hook {
38
  // Do we have a reinstall?
39
  if ( isset( $_GET['reinstall'] ) ) {
40
 
 
 
 
 
 
 
41
  global $wpdb;
42
 
43
  // Get ID's of related post link posts
44
  $link_ids = get_posts(
45
  array(
46
- 'post_type' => 'rp4wp_link',
47
  'fields' => 'ids',
48
  'posts_per_page' => - 1
49
  )
@@ -92,7 +98,7 @@ class RP4WP_Hook_Page_Install extends RP4WP_Hook {
92
  <?php
93
 
94
  foreach ( $steps as $step => $label ) {
95
- echo "<li id='step-bar-" . $step . "'" . ( ( $cur_step == $step ) ? " class='step-bar-active'" : "" ) . ">" . $label . "</li>" . PHP_EOL;
96
  }
97
  ?>
98
  </ul>
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
23
  public function enqueue_install_assets() {
24
  global $wp_scripts;
25
  wp_enqueue_style( 'rp4wp-install-css', plugins_url( '/assets/css/install.css', RP4WP::get_plugin_file() ) );
26
+ wp_enqueue_script( 'rp4wp-install-js', plugins_url( '/assets/js/install' . ( ( ! SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', RP4WP::get_plugin_file() ), array( 'jquery', 'jquery-ui-core', 'jquery-ui-progressbar' ) );
27
  wp_enqueue_style( 'jquery-ui-smoothness', "http://ajax.googleapis.com/ajax/libs/jqueryui/" . $wp_scripts->query( 'jquery-ui-core' )->ver . "/themes/smoothness/jquery-ui.css", false, null );
28
  }
29
 
38
  // Do we have a reinstall?
39
  if ( isset( $_GET['reinstall'] ) ) {
40
 
41
+ // Check nonce
42
+
43
+ if ( ! wp_verify_nonce( ( isset( $_GET['rp4wp_nonce'] ) ? $_GET['rp4wp_nonce'] : '' ), RP4WP_Constants::NONCE_REINSTALL ) ) {
44
+ wp_die( 'Woah! It looks like something else tried to run the Related Posts for WordPress installation wizard! We were able to stop them, nothing was lost. Please report this incident at <a href="http://wordpress.org/support/plugin/related-posts-for-wp" target="_blank">our forums.</a>' );
45
+ }
46
+
47
  global $wpdb;
48
 
49
  // Get ID's of related post link posts
50
  $link_ids = get_posts(
51
  array(
52
+ 'post_type' => RP4WP_Constants::LINK_PT,
53
  'fields' => 'ids',
54
  'posts_per_page' => - 1
55
  )
98
  <?php
99
 
100
  foreach ( $steps as $step => $label ) {
101
+ echo "<li id='step-bar-" . $step . "'" . ( ( $cur_step == $step ) ? " class='step-bar-active'" : "" ) . "><span>" . $step . '. ' . $label . "</span></li>" . PHP_EOL;
102
  }
103
  ?>
104
  </ul>
classes/hooks/class-hook-post-type.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
classes/hooks/class-hook-related-auto-link.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -22,7 +22,7 @@ class RP4WP_Hook_Related_Auto_Link extends RP4WP_Hook {
22
  }
23
 
24
  // Check permission
25
- if ( !current_user_can( 'edit_post', $post_id ) ) {
26
  return;
27
  }
28
 
@@ -32,7 +32,7 @@ class RP4WP_Hook_Related_Auto_Link extends RP4WP_Hook {
32
  }
33
 
34
  // Is automatic linking enabled?
35
- if( 1 != RP4WP::get()->settings->get_option( 'automatic_linking' ) ) {
36
  return;
37
  }
38
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
22
  }
23
 
24
  // Check permission
25
+ if ( ! current_user_can( 'edit_post', $post_id ) ) {
26
  return;
27
  }
28
 
32
  }
33
 
34
  // Is automatic linking enabled?
35
+ if ( 1 != RP4WP::get()->settings->get_option( 'automatic_linking' ) ) {
36
  return;
37
  }
38
 
classes/hooks/class-hook-related-save-words.php CHANGED
@@ -16,7 +16,7 @@ class RP4WP_Hook_Related_Save_Words extends RP4WP_Hook {
16
  }
17
 
18
  // Only count on post type 'post'
19
- if( 'post' != $post->post_type) {
20
  return;
21
  }
22
 
16
  }
17
 
18
  // Only count on post type 'post'
19
+ if ( 'post' != $post->post_type ) {
20
  return;
21
  }
22
 
classes/hooks/class-hook-settings-page.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -64,7 +64,7 @@ class RP4WP_Hook_Settings_Page extends RP4WP_Hook {
64
 
65
  <div class="rp4wp-box">
66
  <h3 class="rp4wp-title"><?php _e( 'About the developer', 'related-posts-for-wp' ); ?></h3>
67
-
68
  <p><?php _e( "Barry is a WordPress developer that works on WooCommerce by WooThemes and is the author of various WordPress plugins that include Post Connector, Related Posts for WordPress and What The File.", 'related-posts-for-wp' ); ?></p>
69
 
70
  <p><?php _e( "Barry likes contributing to opensource projects and visiting WordCamps and WordPress meetups. He’s the organizer of the WordPress meetup in Tilburg.", 'related-posts-for-wp' ); ?></p>
@@ -87,14 +87,14 @@ class RP4WP_Hook_Settings_Page extends RP4WP_Hook {
87
  <div class="wrap">
88
  <h2>Related Posts for WordPress</h2>
89
 
90
- <div class="rp4wp-content">
91
- <form method="post" action="options.php">
92
- <?php settings_fields( 'rp4wp' ); //pass slug name of page, also referred
93
- //to in Settings API as option group name
94
- do_settings_sections( 'rp4wp' ); //pass slug name of page
95
- submit_button();
96
- ?>
97
- </form>
98
  </div>
99
  <?php $this->sidebar(); ?>
100
  </div>
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
64
 
65
  <div class="rp4wp-box">
66
  <h3 class="rp4wp-title"><?php _e( 'About the developer', 'related-posts-for-wp' ); ?></h3>
67
+
68
  <p><?php _e( "Barry is a WordPress developer that works on WooCommerce by WooThemes and is the author of various WordPress plugins that include Post Connector, Related Posts for WordPress and What The File.", 'related-posts-for-wp' ); ?></p>
69
 
70
  <p><?php _e( "Barry likes contributing to opensource projects and visiting WordCamps and WordPress meetups. He’s the organizer of the WordPress meetup in Tilburg.", 'related-posts-for-wp' ); ?></p>
87
  <div class="wrap">
88
  <h2>Related Posts for WordPress</h2>
89
 
90
+ <div class="rp4wp-content">
91
+ <form method="post" action="options.php">
92
+ <?php settings_fields( 'rp4wp' ); //pass slug name of page, also referred
93
+ //to in Settings API as option group name
94
+ do_settings_sections( 'rp4wp' ); //pass slug name of page
95
+ submit_button();
96
+ ?>
97
+ </form>
98
  </div>
99
  <?php $this->sidebar(); ?>
100
  </div>
classes/hooks/class-hook-shortcode.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
classes/hooks/class-hook-widget.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ } // Exit if accessed directly
6
+
7
+ class RP4WP_Hook_Widget extends RP4WP_Hook {
8
+ protected $tag = 'widgets_init';
9
+
10
+ public function run() {
11
+ register_widget( 'RP4WP_Related_Posts_Widget' );
12
+ }
13
+ }
classes/hooks/class-hook.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -61,5 +61,4 @@ abstract class RP4WP_Hook {
61
  }
62
 
63
 
64
-
65
  }
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
61
  }
62
 
63
 
 
64
  }
classes/ignored-words/de_DE.php CHANGED
@@ -4,4 +4,4 @@ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
- return array( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jahr', 'Jahre', 'Jahren', 'Millionen', 'Prozent', 'Uhr', 'ab', 'aber', 'alle', 'als', 'am', 'an', 'auch', 'auf', 'aus', 'bei', 'beim', 'bereits', 'bis', 'da', 'damit', 'dann', 'das', 'dass', 'dem', 'den', 'der', 'des', 'die', 'diese', 'diesem', 'dieser', 'doch', 'drei', 'durch', 'ein', 'eine', 'einem', 'einen', 'einer', 'eines', 'er', 'ersten', 'es', 'etwa', 'für', 'gegen', 'gibt', 'habe', 'haben', 'hat', 'hatte', 'ich', 'ihr', 'ihre', 'ihrer', 'im', 'immer', 'in', 'ist', 'jetzt', 'kann', 'keine', 'man', 'mehr', 'mit', 'muss', 'nach', 'neue', 'neuen', 'nicht', 'noch', 'nun', 'nur', 'oder', 'ohne', 'sagte', 'schon', 'sei', 'sein', 'seine', 'seinen', 'seiner', 'seit', 'selbst', 'sich', 'sie', 'sind', 'so', 'soll', 'sondern', 'um', 'und', 'unter', 'vom', 'von', 'vor', 'war', 'waren', 'was', 'wenn', 'werden', 'wie', 'wieder', 'will', 'wir', 'wird', 'worden', 'wurde', 'wurden', 'zu', 'zum', 'zur', 'zwei', 'zwischen',);
4
  exit;
5
  } // Exit if accessed directly
6
 
7
+ return array( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jahr', 'Jahre', 'Jahren', 'Millionen', 'Prozent', 'Uhr', 'ab', 'aber', 'alle', 'als', 'am', 'an', 'auch', 'auf', 'aus', 'bei', 'beim', 'bereits', 'bis', 'da', 'damit', 'dann', 'das', 'dass', 'dem', 'den', 'der', 'des', 'die', 'diese', 'diesem', 'dieser', 'doch', 'drei', 'durch', 'ein', 'eine', 'einem', 'einen', 'einer', 'eines', 'er', 'ersten', 'es', 'etwa', 'für', 'gegen', 'gibt', 'habe', 'haben', 'hat', 'hatte', 'ich', 'ihr', 'ihre', 'ihrer', 'im', 'immer', 'in', 'ist', 'jetzt', 'kann', 'keine', 'man', 'mehr', 'mit', 'muss', 'nach', 'neue', 'neuen', 'nicht', 'noch', 'nun', 'nur', 'oder', 'ohne', 'sagte', 'schon', 'sei', 'sein', 'seine', 'seinen', 'seiner', 'seit', 'selbst', 'sich', 'sie', 'sind', 'so', 'soll', 'sondern', 'um', 'und', 'unter', 'vom', 'von', 'vor', 'war', 'waren', 'was', 'wenn', 'werden', 'wie', 'wieder', 'will', 'wir', 'wird', 'worden', 'wurde', 'wurden', 'zu', 'zum', 'zur', 'zwei', 'zwischen', );
classes/ignored-words/fr_FR.php CHANGED
@@ -4,4 +4,4 @@ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
- return array( '', 'a', 'abandonner', 'abattre', 'abord', 'aborder', 'abri', 'absence', 'absolu', 'absolument', 'accent', 'accepter', 'accompagner', 'accomplir', 'accord', 'accorder', 'accrocher', 'accueillir', 'accuser', 'acheter', 'achever', 'acte', 'action', 'admettre', 'adresser', 'affaire', 'affirmer', 'afin', 'agent', 'agir', 'agiter', 'ah', 'ai', 'aide', 'aider', 'aile', 'ailleurs', 'aimer', 'ainsi', 'air', 'ajouter', 'aller', 'allumer', 'alors', 'amener', 'ami', 'amour', 'amuser', 'an', 'ancien', 'anglais', 'angoisse', 'animal', 'animer', 'annoncer', 'apercevoir', 'apparence', 'appartement', 'appartenir', 'appel', 'appeler', 'apporter', 'apprendre', 'approcher', 'approuver', 'appuyer', 'arbre', 'argent', 'arme', 'armer', 'arracher', 'arriver', 'art', 'article', 'as', 'aspect', 'asseoir', 'assez', 'assister', 'assurer', 'attacher', 'attaquer', 'atteindre', 'attendre', 'attente', 'attention', 'attirer', 'attitude', 'au', 'aucun', 'aujourdhui', 'auparavant', 'auquel', 'aussi', 'autant', 'auteur', 'autour', 'autre', 'autrefois', 'autrement', 'autres', 'aux', 'auxquelles', 'auxquels', 'avance', 'avancer', 'avant', 'avec', 'avenir', 'aventure', 'avis', 'avoir', 'avouer', 'baisser', 'banc', 'bande', 'barbe', 'bas', 'bataille', 'battre', 'beau', 'beaucoup', 'beaux', 'besoin', 'bien', 'billet', 'blanc', 'bleu', 'blond', 'boire', 'bois', 'bon', 'bonheur', 'bons', 'bord', 'bouche', 'bout', 'branche', 'bras', 'briller', 'briser', 'bruit', 'brusquement', 'bureau', 'but', 'cabinet', 'cacher', 'calme', 'calmer', 'camarade', 'campagne', 'capable', 'car', 'caresser', 'carte', 'cas', 'casser', 'cause', 'causer', 'ce', 'ceci', 'cela', 'celui', 'cent', 'centre', 'cependant', 'cercle', 'certain', 'certainement', 'certes', 'cerveau', 'ces', 'cesse', 'cesser', 'cet', 'cette', 'chacun', 'chair', 'chaise', 'chaleur', 'chambre', 'champ', 'chance', 'changement', 'changer', 'chant', 'chanter', 'chaque', 'charge', 'charger', 'chasse', 'chasser', 'chat', 'chaud', 'chef', 'chemin', 'chemise', 'cher', 'chercher', 'cheval', 'cheveu', 'chez', 'chien', 'chiffre', 'choisir', 'choix', 'chose', 'chute', 'ci', 'ciel', 'cinq', 'cinquante', 'circonstance', 'clair', 'claire', 'classe', 'clef', 'coin', 'colline', 'colon', 'combat', 'combien', 'commander', 'comme', 'commencement', 'commencer', 'comment', 'commun', 'compagnie', 'compagnon', 'complet', 'composer', 'comprendre', 'compte', 'compter', 'conclure', 'condamner', 'condition', 'conduire', 'confiance', 'confier', 'confondre', 'connaissance', 'conscience', 'conseil', 'consentir', 'construire', 'consulter', 'contenir', 'content', 'contenter', 'continuer', 'contraire', 'contre', 'convenir', 'conversation', 'corde', 'corps', 'cou', 'couche', 'coucher', 'couler', 'couleur', 'coup', 'couper', 'cour', 'courage', 'courant', 'courir', 'cours', 'course', 'court', 'couvrir', 'craindre', 'crainte', 'creuser', 'cri', 'crier', 'crise', 'croire', 'croiser', 'croix', 'cruel', 'cuisine', 'curieux', 'dame', 'danger', 'dangereux', 'dans', 'danser', 'davantage', 'de', 'debout', 'dedans', 'dehors', 'demain', 'demande', 'demander', 'demeurer', 'demi', 'dent', 'depuis', 'dernier', 'des', 'descendre', 'desquelles', 'desquels', 'dessiner', 'dessous', 'dessus', 'deux', 'devant', 'devenir', 'deviner', 'devoir', 'dieu', 'difficile', 'digne', 'dimanche', 'dire', 'direction', 'diriger', 'discours', 'discussion', 'discuter', 'disposer', 'distance', 'distinguer', 'divers', 'dix', 'docteur', 'doigt', 'dominer', 'donc', 'donner', 'dont', 'dormir', 'dos', 'double', 'doucement', 'douceur', 'douleur', 'doute', 'douter', 'doux', 'douze', 'drame', 'dresser', 'droit', 'droite', 'du', 'dun', 'dune', 'duquel', 'dur', 'durant', 'durer', 'eau', 'eaux', 'effacer', 'effet', 'effort', 'eh', 'elle', 'elles', 'embrasser', 'emmener', 'emparer', 'empire', 'employer', 'emporter', 'en', 'encore', 'endormir', 'endroit', 'enfance', 'enfant', 'enfermer', 'enfin', 'enfoncer', 'engager', 'enlever', 'ennemi', 'ensemble', 'ensuite', 'entendre', 'entier', 'entourer', 'entre', 'entrer', 'entretenir', 'envelopper', 'envie', 'environ', 'envoyer', 'erreur', 'escalier', 'espace', 'espoir', 'esprit', 'essayer', 'essuyer', 'est', 'et', 'etc', 'euh', 'eux', 'examiner', 'exemple', 'exiger', 'existence', 'exister', 'explication', 'expliquer', 'exposer', 'expression', 'exprimer', 'extraordinaire', 'face', 'facile', 'faible', 'faim', 'faire', 'fais', 'fait', 'falloir', 'famille', 'fatigue', 'fatiguer', 'faute', 'fauteuil', 'faux', 'faveur', 'femme', 'fer', 'ferme', 'fermer', 'feu', 'feuille', 'fier', 'figure', 'figurer', 'fil', 'fille', 'fils', 'fin', 'fine', 'finir', 'fixe', 'fixer', 'flamme', 'fleur', 'flot', 'foi', 'fois', 'folie', 'fonction', 'fond', 'fonder', 'force', 'forcer', 'forme', 'former', 'fort', 'fortune', 'fou', 'foule', 'frais', 'franc', 'franchir', 'frapper', 'froid', 'front', 'fruit', 'fuir', 'fumer', 'gagner', 'garde', 'garder', 'gauche', 'genou', 'genre', 'gens', 'geste', 'glace', 'glisser', 'gloire', 'goutte', 'gouvernement', 'grain', 'grand', 'grandir', 'grave', 'gris', 'gros', 'groupe', 'guerre', 'guider', 'habiller', 'habitant', 'habiter', 'habitude', 'haine', 'hasard', 'haut', 'haute', 'hauteur', 'hein', 'herbe', 'heure', 'heureux', 'heurter', 'hier', 'histoire', 'hiver', 'homme', 'honneur', 'honte', 'horizon', 'hormis', 'hors', 'huit', 'humain', 'humide', 'ignorer', 'il', 'illusion', 'ils', 'image', 'imaginer', 'immense', 'immobile', 'importance', 'important', 'importer', 'imposer', 'impossible', 'impression', 'incapable', 'inconnu', 'indiquer', 'inspirer', 'installer', 'instant', 'instinct', 'instrument', 'intelligence', 'intention', 'interroger', 'interrompre', 'inutile', 'inventer', 'inviter', 'jamais', 'jambe', 'jardin', 'jaune', 'je', 'jeter', 'jeu', 'jeune', 'jeunesse', 'joie', 'joindre', 'joli', 'joue', 'jouer', 'jour', 'journal', 'juge', 'juger', 'juif', 'jusquau', 'jusquaux', 'jusque', 'juste', 'justice', 'la', 'laquelle', 'large', 'larme', 'le', 'lendemain', 'lentement', 'lequel', 'les', 'lesquelles', 'lesquels', 'lettre', 'leur', 'leurs', 'lever', 'libre', 'lien', 'lier', 'lieu', 'ligne', 'lire', 'lisser', 'lit', 'livre', 'livrer', 'loi', 'loin', 'long', 'longtemps', 'lors', 'lorsque', 'loup', 'lourd', 'lueur', 'lui', 'lun', 'lune', 'lutte', 'lutter', 'ma', 'machine', 'madame', 'magnifique', 'main', 'maintenant', 'maintenir', 'mais', 'maison', 'mal', 'malade', 'maladie', 'malheur', 'manche', 'manger', 'manier', 'manquer', 'marchand', 'marche', 'marcher', 'mari', 'mariage', 'marier', 'marquer', 'masse', 'matin', 'mauvais', 'me', 'meilleur', 'meilleure', 'meilleures', 'meilleurs', 'membre', 'menacer', 'mener', 'mensonge', 'mentir', 'mer', 'mes', 'mesure', 'mettre', 'midi', 'mien', 'miens', 'mieux', 'milieu', 'militaire', 'mille', 'million', 'mince', 'mine', 'ministre', 'minute', 'miser', 'mode', 'moi', 'moindre', 'moins', 'mois', 'moment', 'mon', 'monde', 'monsieur', 'montagne', 'monter', 'montrer', 'morceau', 'mort', 'mot', 'mourir', 'mouvement', 'moyen', 'muet', 'mur', 'musique', 'naissance', 'nation', 'nature', 'naturel', 'naturellement', 'ne', 'nerveux', 'neuf', 'nez', 'ni', 'noir', 'noire', 'nom', 'nombre', 'nombreux', 'nommer', 'non', 'nord', 'nos', 'note', 'notre', 'nourrir', 'nous', 'nouveau', 'noyer', 'nu', 'nuage', 'nuit', 'nul', 'objet', 'obliger', 'observer', 'obtenir', 'occasion', 'occuper', 'odeur', 'oeil', 'officier', 'offrir', 'oh', 'oiseau', 'ombre', 'on', 'oncle', 'or', 'ordre', 'oreille', 'oser', 'ou', 'oublier', 'ouh', 'oui', 'ouvert', 'ouvrage', 'ouvrir', 'page', 'pain', 'paix', 'palais', 'papa', 'papier', 'paquet', 'par', 'parce', 'parcourir', 'pareil', 'parent', 'parer', 'parfait', 'parfaitement', 'parfois', 'parler', 'parmi', 'parole', 'part', 'partager', 'parti', 'particulier', 'partie', 'partir', 'partout', 'parvenir', 'pas', 'passage', 'passer', 'passion', 'patron', 'pauvre', 'payer', 'pays', 'paysage', 'paysan', 'peau', 'peine', 'pencher', 'pendant', 'pendre', 'penser', 'perdre', 'perdu', 'permettre', 'personnage', 'personne', 'perte', 'peser', 'petit', 'peu', 'peuple', 'peur', 'phrase', 'pied', 'pierre', 'piquer', 'pire', 'pires', 'place', 'placer', 'plaindre', 'plaine', 'plaire', 'plaisir', 'plan', 'planche', 'plante', 'plein', 'pleurer', 'plier', 'plonger', 'pluie', 'plus', 'plusieurs', 'poche', 'poids', 'point', 'pointe', 'poitrine', 'police', 'politique', 'pont', 'port', 'porte', 'porter', 'portier', 'poser', 'position', 'possible', 'poste', 'pour', 'pourquoi', 'poursuivre', 'pourtant', 'pousser', 'pouvoir', 'premier', 'prendre', 'presque', 'presser', 'preuve', 'prier', 'prince', 'principe', 'printemps', 'prison', 'prix', 'probablement', 'prochain', 'produire', 'professeur', 'profiter', 'profond', 'projet', 'promener', 'promettre', 'prononcer', 'propos', 'proposer', 'propre', 'prouver', 'public', 'puis', 'puisque', 'puissance', 'puissant', 'pur', 'quand', 'quant', 'quarante', 'quart', 'quartier', 'quatre', 'que', 'quel', 'quelle', 'quelles', 'quelque', 'quelquun', 'quels', 'question', 'queue', 'qui', 'quinze', 'quitter', 'quoi', 'quoique', 'race', 'raconter', 'rage', 'raison', 'ramasser', 'ramener', 'rang', 'rapide', 'rapidement', 'rappeler', 'rapport', 'rapporter', 'rare', 'rassurer', 'rayon', 'recevoir', 'recherche', 'recommencer', 'recueillir', 'reculer', 'redevenir', 'refuser', 'regard', 'regarder', 'regretter', 'rejeter', 'rejoindre', 'relation', 'relever', 'religion', 'remarquer', 'remercier', 'remettre', 'remonter', 'remplacer', 'remplir', 'rencontre', 'rencontrer', 'rendre', 'renoncer', 'rentrer', 'renverser', 'repas', 'reposer', 'repousser', 'reprendre', 'reproche', 'respect', 'respecter', 'respirer', 'ressembler', 'reste', 'rester', 'retenir', 'retirer', 'retomber', 'retour', 'retourner', 'retrouver', 'revenir', 'revoir', 'riche', 'rideau', 'rien', 'rire', 'risquer', 'robe', 'roche', 'rocher', 'roi', 'roman', 'rompre', 'rond', 'rose', 'rouge', 'rouler', 'route', 'rue', 'ruine', 'sa', 'sable', 'sac', 'saint', 'saisir', 'saison', 'salle', 'saluer', 'salut', 'sang', 'sans', 'satisfaire', 'sauf', 'sauter', 'sauvage', 'sauver', 'savoir', 'science', 'se', 'sec', 'second', 'seconde', 'secours', 'secret', 'seigneur', 'sein', 'selon', 'semaine', 'semblable', 'sembler', 'semer', 'sens', 'sentier', 'sentiment', 'sentir', 'sept', 'serrer', 'service', 'servir', 'ses', 'seuil', 'seul', 'seulement', 'si', 'sien', 'siens', 'signe', 'signer', 'signifier', 'silence', 'silencieux', 'simple', 'simplement', 'situation', 'six', 'social', 'soi', 'soin', 'soir', 'soit', 'sol', 'soldat', 'soleil', 'solitude', 'sombre', 'somme', 'sommeil', 'sommet', 'son', 'songer', 'sonner', 'sorte', 'sortir', 'sou', 'souci', 'soudain', 'souffler', 'souffrance', 'souffrir', 'souhaiter', 'soulever', 'soumettre', 'source', 'sourd', 'sourire', 'sous', 'soutenir', 'souvenir', 'souvent', 'spectacle', 'subir', 'sueur', 'suffire', 'suite', 'suivant', 'suivre', 'sujet', 'supporter', 'supposer', 'sur', 'surprendre', 'surtout', 'surveiller', 'ta', 'table', 'tache', 'taille', 'taire', 'tandis', 'tant', 'tapis', 'tard', 'te', 'tel', 'telle', 'tellement', 'telles', 'tels', 'temps', 'tendre', 'tenir', 'tenter', 'terme', 'terminer', 'terrain', 'terre', 'terreur', 'terrible', 'tes', 'tien', 'tiens', 'tirer', 'titre', 'toi', 'toile', 'toit', 'tombe', 'tomber', 'ton', 'toucher', 'toujours', 'tour', 'tourner', 'tous', 'tout', 'toute', 'trace', 'tracer', 'train', 'trait', 'traiter', 'tranquille', 'transformer', 'travail', 'travailler', 'travers', 'traverser', 'trembler', 'trente', 'triste', 'trois', 'tromper', 'trop', 'trou', 'troubler', 'trouver', 'tu', 'tuer', 'type', 'un', 'une', 'unique', 'usage', 'user', 'va', 'vague', 'vaincre', 'vais', 'valeur', 'valoir', 'vas', 'vaste', 'veille', 'veiller', 'vendre', 'venir', 'vent', 'ventre', 'verre', 'vers', 'verser', 'vert', 'victime', 'vide', 'vie', 'vieil', 'vieillard', 'viens', 'vient', 'vieux', 'vif', 'village', 'ville', 'vin', 'vingt', 'violence', 'violent', 'visage', 'visible', 'vision', 'visite', 'visiter', 'vite', 'vivant', 'vivre', 'voici', 'voie', 'voile', 'voir', 'voisin', 'voiture', 'voix', 'vol', 'voler', 'vos', 'votre', 'vouloir', 'vous', 'voyage', 'voyager', 'vrai', 'vraiment', 'vue',);
4
  exit;
5
  } // Exit if accessed directly
6
 
7
+ return array( '', 'a', 'abandonner', 'abattre', 'abord', 'aborder', 'abri', 'absence', 'absolu', 'absolument', 'accent', 'accepter', 'accompagner', 'accomplir', 'accord', 'accorder', 'accrocher', 'accueillir', 'accuser', 'acheter', 'achever', 'acte', 'action', 'admettre', 'adresser', 'affaire', 'affirmer', 'afin', 'agent', 'agir', 'agiter', 'ah', 'ai', 'aide', 'aider', 'aile', 'ailleurs', 'aimer', 'ainsi', 'air', 'ajouter', 'aller', 'allumer', 'alors', 'amener', 'ami', 'amour', 'amuser', 'an', 'ancien', 'anglais', 'angoisse', 'animal', 'animer', 'annoncer', 'apercevoir', 'apparence', 'appartement', 'appartenir', 'appel', 'appeler', 'apporter', 'apprendre', 'approcher', 'approuver', 'appuyer', 'arbre', 'argent', 'arme', 'armer', 'arracher', 'arriver', 'art', 'article', 'as', 'aspect', 'asseoir', 'assez', 'assister', 'assurer', 'attacher', 'attaquer', 'atteindre', 'attendre', 'attente', 'attention', 'attirer', 'attitude', 'au', 'aucun', 'aujourdhui', 'auparavant', 'auquel', 'aussi', 'autant', 'auteur', 'autour', 'autre', 'autrefois', 'autrement', 'autres', 'aux', 'auxquelles', 'auxquels', 'avance', 'avancer', 'avant', 'avec', 'avenir', 'aventure', 'avis', 'avoir', 'avouer', 'baisser', 'banc', 'bande', 'barbe', 'bas', 'bataille', 'battre', 'beau', 'beaucoup', 'beaux', 'besoin', 'bien', 'billet', 'blanc', 'bleu', 'blond', 'boire', 'bois', 'bon', 'bonheur', 'bons', 'bord', 'bouche', 'bout', 'branche', 'bras', 'briller', 'briser', 'bruit', 'brusquement', 'bureau', 'but', 'cabinet', 'cacher', 'calme', 'calmer', 'camarade', 'campagne', 'capable', 'car', 'caresser', 'carte', 'cas', 'casser', 'cause', 'causer', 'ce', 'ceci', 'cela', 'celui', 'cent', 'centre', 'cependant', 'cercle', 'certain', 'certainement', 'certes', 'cerveau', 'ces', 'cesse', 'cesser', 'cet', 'cette', 'chacun', 'chair', 'chaise', 'chaleur', 'chambre', 'champ', 'chance', 'changement', 'changer', 'chant', 'chanter', 'chaque', 'charge', 'charger', 'chasse', 'chasser', 'chat', 'chaud', 'chef', 'chemin', 'chemise', 'cher', 'chercher', 'cheval', 'cheveu', 'chez', 'chien', 'chiffre', 'choisir', 'choix', 'chose', 'chute', 'ci', 'ciel', 'cinq', 'cinquante', 'circonstance', 'clair', 'claire', 'classe', 'clef', 'coin', 'colline', 'colon', 'combat', 'combien', 'commander', 'comme', 'commencement', 'commencer', 'comment', 'commun', 'compagnie', 'compagnon', 'complet', 'composer', 'comprendre', 'compte', 'compter', 'conclure', 'condamner', 'condition', 'conduire', 'confiance', 'confier', 'confondre', 'connaissance', 'conscience', 'conseil', 'consentir', 'construire', 'consulter', 'contenir', 'content', 'contenter', 'continuer', 'contraire', 'contre', 'convenir', 'conversation', 'corde', 'corps', 'cou', 'couche', 'coucher', 'couler', 'couleur', 'coup', 'couper', 'cour', 'courage', 'courant', 'courir', 'cours', 'course', 'court', 'couvrir', 'craindre', 'crainte', 'creuser', 'cri', 'crier', 'crise', 'croire', 'croiser', 'croix', 'cruel', 'cuisine', 'curieux', 'dame', 'danger', 'dangereux', 'dans', 'danser', 'davantage', 'de', 'debout', 'dedans', 'dehors', 'demain', 'demande', 'demander', 'demeurer', 'demi', 'dent', 'depuis', 'dernier', 'des', 'descendre', 'desquelles', 'desquels', 'dessiner', 'dessous', 'dessus', 'deux', 'devant', 'devenir', 'deviner', 'devoir', 'dieu', 'difficile', 'digne', 'dimanche', 'dire', 'direction', 'diriger', 'discours', 'discussion', 'discuter', 'disposer', 'distance', 'distinguer', 'divers', 'dix', 'docteur', 'doigt', 'dominer', 'donc', 'donner', 'dont', 'dormir', 'dos', 'double', 'doucement', 'douceur', 'douleur', 'doute', 'douter', 'doux', 'douze', 'drame', 'dresser', 'droit', 'droite', 'du', 'dun', 'dune', 'duquel', 'dur', 'durant', 'durer', 'eau', 'eaux', 'effacer', 'effet', 'effort', 'eh', 'elle', 'elles', 'embrasser', 'emmener', 'emparer', 'empire', 'employer', 'emporter', 'en', 'encore', 'endormir', 'endroit', 'enfance', 'enfant', 'enfermer', 'enfin', 'enfoncer', 'engager', 'enlever', 'ennemi', 'ensemble', 'ensuite', 'entendre', 'entier', 'entourer', 'entre', 'entrer', 'entretenir', 'envelopper', 'envie', 'environ', 'envoyer', 'erreur', 'escalier', 'espace', 'espoir', 'esprit', 'essayer', 'essuyer', 'est', 'et', 'etc', 'euh', 'eux', 'examiner', 'exemple', 'exiger', 'existence', 'exister', 'explication', 'expliquer', 'exposer', 'expression', 'exprimer', 'extraordinaire', 'face', 'facile', 'faible', 'faim', 'faire', 'fais', 'fait', 'falloir', 'famille', 'fatigue', 'fatiguer', 'faute', 'fauteuil', 'faux', 'faveur', 'femme', 'fer', 'ferme', 'fermer', 'feu', 'feuille', 'fier', 'figure', 'figurer', 'fil', 'fille', 'fils', 'fin', 'fine', 'finir', 'fixe', 'fixer', 'flamme', 'fleur', 'flot', 'foi', 'fois', 'folie', 'fonction', 'fond', 'fonder', 'force', 'forcer', 'forme', 'former', 'fort', 'fortune', 'fou', 'foule', 'frais', 'franc', 'franchir', 'frapper', 'froid', 'front', 'fruit', 'fuir', 'fumer', 'gagner', 'garde', 'garder', 'gauche', 'genou', 'genre', 'gens', 'geste', 'glace', 'glisser', 'gloire', 'goutte', 'gouvernement', 'grain', 'grand', 'grandir', 'grave', 'gris', 'gros', 'groupe', 'guerre', 'guider', 'habiller', 'habitant', 'habiter', 'habitude', 'haine', 'hasard', 'haut', 'haute', 'hauteur', 'hein', 'herbe', 'heure', 'heureux', 'heurter', 'hier', 'histoire', 'hiver', 'homme', 'honneur', 'honte', 'horizon', 'hormis', 'hors', 'huit', 'humain', 'humide', 'ignorer', 'il', 'illusion', 'ils', 'image', 'imaginer', 'immense', 'immobile', 'importance', 'important', 'importer', 'imposer', 'impossible', 'impression', 'incapable', 'inconnu', 'indiquer', 'inspirer', 'installer', 'instant', 'instinct', 'instrument', 'intelligence', 'intention', 'interroger', 'interrompre', 'inutile', 'inventer', 'inviter', 'jamais', 'jambe', 'jardin', 'jaune', 'je', 'jeter', 'jeu', 'jeune', 'jeunesse', 'joie', 'joindre', 'joli', 'joue', 'jouer', 'jour', 'journal', 'juge', 'juger', 'juif', 'jusquau', 'jusquaux', 'jusque', 'juste', 'justice', 'la', 'laquelle', 'large', 'larme', 'le', 'lendemain', 'lentement', 'lequel', 'les', 'lesquelles', 'lesquels', 'lettre', 'leur', 'leurs', 'lever', 'libre', 'lien', 'lier', 'lieu', 'ligne', 'lire', 'lisser', 'lit', 'livre', 'livrer', 'loi', 'loin', 'long', 'longtemps', 'lors', 'lorsque', 'loup', 'lourd', 'lueur', 'lui', 'lun', 'lune', 'lutte', 'lutter', 'ma', 'machine', 'madame', 'magnifique', 'main', 'maintenant', 'maintenir', 'mais', 'maison', 'mal', 'malade', 'maladie', 'malheur', 'manche', 'manger', 'manier', 'manquer', 'marchand', 'marche', 'marcher', 'mari', 'mariage', 'marier', 'marquer', 'masse', 'matin', 'mauvais', 'me', 'meilleur', 'meilleure', 'meilleures', 'meilleurs', 'membre', 'menacer', 'mener', 'mensonge', 'mentir', 'mer', 'mes', 'mesure', 'mettre', 'midi', 'mien', 'miens', 'mieux', 'milieu', 'militaire', 'mille', 'million', 'mince', 'mine', 'ministre', 'minute', 'miser', 'mode', 'moi', 'moindre', 'moins', 'mois', 'moment', 'mon', 'monde', 'monsieur', 'montagne', 'monter', 'montrer', 'morceau', 'mort', 'mot', 'mourir', 'mouvement', 'moyen', 'muet', 'mur', 'musique', 'naissance', 'nation', 'nature', 'naturel', 'naturellement', 'ne', 'nerveux', 'neuf', 'nez', 'ni', 'noir', 'noire', 'nom', 'nombre', 'nombreux', 'nommer', 'non', 'nord', 'nos', 'note', 'notre', 'nourrir', 'nous', 'nouveau', 'noyer', 'nu', 'nuage', 'nuit', 'nul', 'objet', 'obliger', 'observer', 'obtenir', 'occasion', 'occuper', 'odeur', 'oeil', 'officier', 'offrir', 'oh', 'oiseau', 'ombre', 'on', 'oncle', 'or', 'ordre', 'oreille', 'oser', 'ou', 'oublier', 'ouh', 'oui', 'ouvert', 'ouvrage', 'ouvrir', 'page', 'pain', 'paix', 'palais', 'papa', 'papier', 'paquet', 'par', 'parce', 'parcourir', 'pareil', 'parent', 'parer', 'parfait', 'parfaitement', 'parfois', 'parler', 'parmi', 'parole', 'part', 'partager', 'parti', 'particulier', 'partie', 'partir', 'partout', 'parvenir', 'pas', 'passage', 'passer', 'passion', 'patron', 'pauvre', 'payer', 'pays', 'paysage', 'paysan', 'peau', 'peine', 'pencher', 'pendant', 'pendre', 'penser', 'perdre', 'perdu', 'permettre', 'personnage', 'personne', 'perte', 'peser', 'petit', 'peu', 'peuple', 'peur', 'phrase', 'pied', 'pierre', 'piquer', 'pire', 'pires', 'place', 'placer', 'plaindre', 'plaine', 'plaire', 'plaisir', 'plan', 'planche', 'plante', 'plein', 'pleurer', 'plier', 'plonger', 'pluie', 'plus', 'plusieurs', 'poche', 'poids', 'point', 'pointe', 'poitrine', 'police', 'politique', 'pont', 'port', 'porte', 'porter', 'portier', 'poser', 'position', 'possible', 'poste', 'pour', 'pourquoi', 'poursuivre', 'pourtant', 'pousser', 'pouvoir', 'premier', 'prendre', 'presque', 'presser', 'preuve', 'prier', 'prince', 'principe', 'printemps', 'prison', 'prix', 'probablement', 'prochain', 'produire', 'professeur', 'profiter', 'profond', 'projet', 'promener', 'promettre', 'prononcer', 'propos', 'proposer', 'propre', 'prouver', 'public', 'puis', 'puisque', 'puissance', 'puissant', 'pur', 'quand', 'quant', 'quarante', 'quart', 'quartier', 'quatre', 'que', 'quel', 'quelle', 'quelles', 'quelque', 'quelquun', 'quels', 'question', 'queue', 'qui', 'quinze', 'quitter', 'quoi', 'quoique', 'race', 'raconter', 'rage', 'raison', 'ramasser', 'ramener', 'rang', 'rapide', 'rapidement', 'rappeler', 'rapport', 'rapporter', 'rare', 'rassurer', 'rayon', 'recevoir', 'recherche', 'recommencer', 'recueillir', 'reculer', 'redevenir', 'refuser', 'regard', 'regarder', 'regretter', 'rejeter', 'rejoindre', 'relation', 'relever', 'religion', 'remarquer', 'remercier', 'remettre', 'remonter', 'remplacer', 'remplir', 'rencontre', 'rencontrer', 'rendre', 'renoncer', 'rentrer', 'renverser', 'repas', 'reposer', 'repousser', 'reprendre', 'reproche', 'respect', 'respecter', 'respirer', 'ressembler', 'reste', 'rester', 'retenir', 'retirer', 'retomber', 'retour', 'retourner', 'retrouver', 'revenir', 'revoir', 'riche', 'rideau', 'rien', 'rire', 'risquer', 'robe', 'roche', 'rocher', 'roi', 'roman', 'rompre', 'rond', 'rose', 'rouge', 'rouler', 'route', 'rue', 'ruine', 'sa', 'sable', 'sac', 'saint', 'saisir', 'saison', 'salle', 'saluer', 'salut', 'sang', 'sans', 'satisfaire', 'sauf', 'sauter', 'sauvage', 'sauver', 'savoir', 'science', 'se', 'sec', 'second', 'seconde', 'secours', 'secret', 'seigneur', 'sein', 'selon', 'semaine', 'semblable', 'sembler', 'semer', 'sens', 'sentier', 'sentiment', 'sentir', 'sept', 'serrer', 'service', 'servir', 'ses', 'seuil', 'seul', 'seulement', 'si', 'sien', 'siens', 'signe', 'signer', 'signifier', 'silence', 'silencieux', 'simple', 'simplement', 'situation', 'six', 'social', 'soi', 'soin', 'soir', 'soit', 'sol', 'soldat', 'soleil', 'solitude', 'sombre', 'somme', 'sommeil', 'sommet', 'son', 'songer', 'sonner', 'sorte', 'sortir', 'sou', 'souci', 'soudain', 'souffler', 'souffrance', 'souffrir', 'souhaiter', 'soulever', 'soumettre', 'source', 'sourd', 'sourire', 'sous', 'soutenir', 'souvenir', 'souvent', 'spectacle', 'subir', 'sueur', 'suffire', 'suite', 'suivant', 'suivre', 'sujet', 'supporter', 'supposer', 'sur', 'surprendre', 'surtout', 'surveiller', 'ta', 'table', 'tache', 'taille', 'taire', 'tandis', 'tant', 'tapis', 'tard', 'te', 'tel', 'telle', 'tellement', 'telles', 'tels', 'temps', 'tendre', 'tenir', 'tenter', 'terme', 'terminer', 'terrain', 'terre', 'terreur', 'terrible', 'tes', 'tien', 'tiens', 'tirer', 'titre', 'toi', 'toile', 'toit', 'tombe', 'tomber', 'ton', 'toucher', 'toujours', 'tour', 'tourner', 'tous', 'tout', 'toute', 'trace', 'tracer', 'train', 'trait', 'traiter', 'tranquille', 'transformer', 'travail', 'travailler', 'travers', 'traverser', 'trembler', 'trente', 'triste', 'trois', 'tromper', 'trop', 'trou', 'troubler', 'trouver', 'tu', 'tuer', 'type', 'un', 'une', 'unique', 'usage', 'user', 'va', 'vague', 'vaincre', 'vais', 'valeur', 'valoir', 'vas', 'vaste', 'veille', 'veiller', 'vendre', 'venir', 'vent', 'ventre', 'verre', 'vers', 'verser', 'vert', 'victime', 'vide', 'vie', 'vieil', 'vieillard', 'viens', 'vient', 'vieux', 'vif', 'village', 'ville', 'vin', 'vingt', 'violence', 'violent', 'visage', 'visible', 'vision', 'visite', 'visiter', 'vite', 'vivant', 'vivre', 'voici', 'voie', 'voile', 'voir', 'voisin', 'voiture', 'voix', 'vol', 'voler', 'vos', 'votre', 'vouloir', 'vous', 'voyage', 'voyager', 'vrai', 'vraiment', 'vue', );
classes/ignored-words/it_IT.php CHANGED
@@ -4,4 +4,4 @@ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
7
- return array( '', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'a', 'abbastanza', 'accanto', 'accordo', 'addirittura', 'addosso', 'adesso', 'affatto', 'ah', 'allora', 'almeno', 'anche', 'ancora', 'anzi', 'apesso', 'appena', 'appunto', 'assai', 'attorno', 'avanti', 'bene', 'certamente', 'che', 'chi', 'ci', 'circa', 'coloro', 'come', 'completamente', 'comunque', 'contro', 'cui', 'davvero', 'dentro', 'di', 'dietro', 'dinanzi', 'domani', 'dopo', 'dove', 'dunque', 'durante', 'e', 'eccetera', 'ecco', 'egli', 'eh', 'entro', 'eppure', 'essa', 'esso', 'finalmente', 'fino', 'forse', 'fra', 'fuori', 'grazie', 'ieri', 'il', 'in', 'indietro', 'infatti', 'infine', 'inoltre', 'insieme', 'insomma', 'intanto', 'intorno', 'invece', 'io', 'lei', 'li', 'loro', 'lui', 'lungo', 'ma', 'magari', 'male', 'meno', 'mentre', 'mi', 'naturalmente', 'ne', 'neanche', 'nemmeno', 'neppure', 'niente', 'no', 'noi', 'non', 'nulla', 'o', 'oggi', 'ognuno', 'oh', 'oltre', 'oppure', 'ora', 'oramai', 'peccato', 'perfino', 'piuttosto', 'presso', 'presto', 'prima', 'probabilmente', 'pure', 'qua', 'qualcosa', 'qualcuno', 'quasi', 'qui', 'quindi', 'se', 'secondo', 'senza', 'sino', 'soltanto', 'sopra', 'soprattutto', 'sotto', 'stamattina', 'stasera', 'su', 'subito', 'tardi', 'tra', 'tu', 'tuttavia', 'un', 'uno', 'veramente', 'verso', 'vi', 'voi',);
4
  exit;
5
  } // Exit if accessed directly
6
 
7
+ return array( '', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'a', 'abbastanza', 'accanto', 'accordo', 'addirittura', 'addosso', 'adesso', 'affatto', 'ah', 'allora', 'almeno', 'anche', 'ancora', 'anzi', 'apesso', 'appena', 'appunto', 'assai', 'attorno', 'avanti', 'bene', 'certamente', 'che', 'chi', 'ci', 'circa', 'coloro', 'come', 'completamente', 'comunque', 'contro', 'cui', 'davvero', 'dentro', 'di', 'dietro', 'dinanzi', 'domani', 'dopo', 'dove', 'dunque', 'durante', 'e', 'eccetera', 'ecco', 'egli', 'eh', 'entro', 'eppure', 'essa', 'esso', 'finalmente', 'fino', 'forse', 'fra', 'fuori', 'grazie', 'ieri', 'il', 'in', 'indietro', 'infatti', 'infine', 'inoltre', 'insieme', 'insomma', 'intanto', 'intorno', 'invece', 'io', 'lei', 'li', 'loro', 'lui', 'lungo', 'ma', 'magari', 'male', 'meno', 'mentre', 'mi', 'naturalmente', 'ne', 'neanche', 'nemmeno', 'neppure', 'niente', 'no', 'noi', 'non', 'nulla', 'o', 'oggi', 'ognuno', 'oh', 'oltre', 'oppure', 'ora', 'oramai', 'peccato', 'perfino', 'piuttosto', 'presso', 'presto', 'prima', 'probabilmente', 'pure', 'qua', 'qualcosa', 'qualcuno', 'quasi', 'qui', 'quindi', 'se', 'secondo', 'senza', 'sino', 'soltanto', 'sopra', 'soprattutto', 'sotto', 'stamattina', 'stasera', 'su', 'subito', 'tardi', 'tra', 'tu', 'tuttavia', 'un', 'uno', 'veramente', 'verso', 'vi', 'voi', );
classes/ignored-words/nl_NL.php CHANGED
@@ -1,5 +1,7 @@
1
  <?php
2
 
3
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
 
 
4
 
5
- return array( '', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'aleen', 'alle', 'alleen', 'als', 'ander', 'andere', 'anders', 'begrijpen', 'beiden', 'ben', 'bent', 'beschikbaar', 'beslissen', 'beste', 'beter', 'bijna', 'c', 'controleren', 'cursus', 'd', 'daarna', 'dag', 'dan', 'dat', 'de', 'deden', 'deed', 'deel', 'denk', 'denken', 'deze', 'dezelfde', 'die', 'ding', 'dingen', 'dit', 'doe', 'doen', 'doet', 'door', 'doordat', 'doorheen', 'e', 'editie', 'een', 'eerder', 'eerste', 'einde', 'elke', 'enig', 'enige', 'enkele', 'er', 'erg', 'even', 'ga', 'gaan', 'gebruik', 'gebruiken', 'gebruikt', 'gebruikte', 'gemaakt', 'gemakkelijk', 'genoeg', 'gevonden', 'geweest', 'gezegde', 'goed', 'groot', 'haar', 'had', 'hard', 'heb', 'hebben', 'heeft', 'heel', 'hem', 'hen', 'het', 'hier', 'hij', 'hoe', 'hun', 'iets', 'in', 'is', 'ja', 'jaar', 'je', 'jij', 'jou', 'jouw', 'kan', 'kijk', 'kijken', 'klein', 'kleine', 'klopt', 'kom', 'komen', 'konden', 'krijg', 'krijgen', 'kunnen', 'laatste', 'lang', 'langs', 'later', 'leuk', 'links', 'maak', 'maakte', 'maar', 'maat', 'mag', 'maken', 'makkie', 'man', 'manier', 'meer', 'mensen', 'menu', 'met', 'mij', 'mijn', 'min', 'minder', 'misschien', 'moeilijk', 'moet', 'moeten', 'mogen', 'mooi', 'na', 'naam', 'naar', 'nam', 'natuurlijk', 'nbsp', 'nee', 'neem', 'nemen', 'niet', 'nieuw', 'nodig', 'nog', 'nou', 'nu', 'nummer', 'of', 'omdat', 'onder', 'ondertussen', 'ongeveer', 'ons', 'ook', 'op', 'originineel', 'oud', 'over', 'persoon', 'plaats', 'plek', 'plus', 'probleem', 're', 'rechts', 'rijden', 's', 'samen', 'since', 'slecht', 'snap', 'sommige', 'speciaal', 'stil', 'systeem', 't', 'terug', 'terwijl', 'tijd', 'twee', 'uh', 'uit', 'uitkomst', 'van', 'vandaag', 'veel', 'verschillend', 'verschillende', 'versie', 'vind', 'vinden', 'vindt', 'voor', 'voorbeeld', 'vrouw', 'waar', 'waarschijnlijk', 'wanneer', 'want', 'was', 'wat', 'weinig', 'wel', 'welke', 'wellicht', 'werd', 'werden', 'werkelijk', 'weten', 'wie', 'wij', 'wil', 'wit', 'word', 'wordt', 'zag', 'zeer', 'zeg', 'zeggen', 'zegt', 'zei', 'zelfde', 'zie', 'zien', 'zij', 'zijn', 'zo', 'zoals', 'zou', 'zouden', 'zulke', 'zwart',);
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ } // Exit if accessed directly
6
 
7
+ return array( '', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'aleen', 'alle', 'alleen', 'als', 'ander', 'andere', 'anders', 'begrijpen', 'beiden', 'ben', 'bent', 'beschikbaar', 'beslissen', 'beste', 'beter', 'bijna', 'c', 'controleren', 'cursus', 'd', 'daarna', 'dag', 'dan', 'dat', 'de', 'deden', 'deed', 'deel', 'denk', 'denken', 'deze', 'dezelfde', 'die', 'ding', 'dingen', 'dit', 'doe', 'doen', 'doet', 'door', 'doordat', 'doorheen', 'e', 'editie', 'een', 'eerder', 'eerste', 'einde', 'elke', 'enig', 'enige', 'enkele', 'er', 'erg', 'even', 'ga', 'gaan', 'gebruik', 'gebruiken', 'gebruikt', 'gebruikte', 'gemaakt', 'gemakkelijk', 'genoeg', 'gevonden', 'geweest', 'gezegde', 'goed', 'groot', 'haar', 'had', 'hard', 'heb', 'hebben', 'heeft', 'heel', 'hem', 'hen', 'het', 'hier', 'hij', 'hoe', 'hun', 'iets', 'in', 'is', 'ja', 'jaar', 'je', 'jij', 'jou', 'jouw', 'kan', 'kijk', 'kijken', 'klein', 'kleine', 'klopt', 'kom', 'komen', 'konden', 'krijg', 'krijgen', 'kunnen', 'laatste', 'lang', 'langs', 'later', 'leuk', 'links', 'maak', 'maakte', 'maar', 'maat', 'mag', 'maken', 'makkie', 'man', 'manier', 'meer', 'mensen', 'menu', 'met', 'mij', 'mijn', 'min', 'minder', 'misschien', 'moeilijk', 'moet', 'moeten', 'mogen', 'mooi', 'na', 'naam', 'naar', 'nam', 'natuurlijk', 'nbsp', 'nee', 'neem', 'nemen', 'niet', 'nieuw', 'nodig', 'nog', 'nou', 'nu', 'nummer', 'of', 'omdat', 'onder', 'ondertussen', 'ongeveer', 'ons', 'ook', 'op', 'originineel', 'oud', 'over', 'persoon', 'plaats', 'plek', 'plus', 'probleem', 're', 'rechts', 'rijden', 's', 'samen', 'since', 'slecht', 'snap', 'sommige', 'speciaal', 'stil', 'systeem', 't', 'terug', 'terwijl', 'tijd', 'twee', 'uh', 'uit', 'uitkomst', 'van', 'vandaag', 'veel', 'verschillend', 'verschillende', 'versie', 'vind', 'vinden', 'vindt', 'voor', 'voorbeeld', 'vrouw', 'waar', 'waarschijnlijk', 'wanneer', 'want', 'was', 'wat', 'weinig', 'wel', 'welke', 'wellicht', 'werd', 'werden', 'werkelijk', 'weten', 'wie', 'wij', 'wil', 'wit', 'word', 'wordt', 'zag', 'zeer', 'zeg', 'zeggen', 'zegt', 'zei', 'zelfde', 'zie', 'zien', 'zij', 'zijn', 'zo', 'zoals', 'zou', 'zouden', 'zulke', 'zwart', );
classes/meta-boxes/class-meta-box-manage.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( !defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
@@ -9,7 +9,7 @@ class RP4WP_Meta_Box_Manage {
9
  public function __construct() {
10
 
11
  // Check if we're in the admin/backend
12
- if ( !is_admin() ) {
13
  return;
14
  }
15
 
@@ -95,11 +95,11 @@ class RP4WP_Meta_Box_Manage {
95
  echo "<td>";
96
  echo "<strong><a href='{$edit_url}' class='row-title' title='{$child->post_title}'>{$child->post_title}</a></strong>\n";
97
  echo "<div class='row-actions'>\n";
98
- echo "<span class='edit'><a href='{$edit_url}' title='" . __( 'Edit this item', 'related-posts-for-wp' ) . "'>";
99
  _e( 'Edit Post', 'related-posts-for-wp' );
100
  echo "</a> | </span>";
101
- echo "<span class='trash'><a class='submitdelete' title='" . __( 'Delete this item', 'related-posts-for-wp' ) . "' href='javascript:;'>";
102
- _e( 'Delete Post', 'related-posts-for-wp' );
103
  echo "</a></span>";
104
  echo "</div>\n";
105
  echo "</td>\n";
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  } // Exit if accessed directly
6
 
9
  public function __construct() {
10
 
11
  // Check if we're in the admin/backend
12
+ if ( ! is_admin() ) {
13
  return;
14
  }
15
 
95
  echo "<td>";
96
  echo "<strong><a href='{$edit_url}' class='row-title' title='{$child->post_title}'>{$child->post_title}</a></strong>\n";
97
  echo "<div class='row-actions'>\n";
98
+ echo "<span class='edit'><a href='{$edit_url}' title='" . __( 'Edit Post', 'related-posts-for-wp' ) . "'>";
99
  _e( 'Edit Post', 'related-posts-for-wp' );
100
  echo "</a> | </span>";
101
+ echo "<span class='trash'><a class='submitdelete' title='" . __( 'Unlink Related Post', 'related-posts-for-wp' ) . "' href='javascript:;'>";
102
+ _e( 'Unlink Related Post', 'related-posts-for-wp' );
103
  echo "</a></span>";
104
  echo "</div>\n";
105
  echo "</td>\n";
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.relatedpostsforwp.com/
4
  Tags: related posts for wordpress, related posts for wp, simple related posts, easy related posts, related posts, related, relations, internal links, seo, bounce rate
5
  Requires at least: 3.6
6
  Tested up to: 4.0
7
- Stable tag: 1.4.1
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -30,6 +30,9 @@ Everyone makes mistakes, so do we. That's why you can easily modify all automati
30
  = WPML compatible =
31
  Related Posts for WordPress is fully compatible with WPML. You can automatically add manually link related posts in their own language.
32
 
 
 
 
33
  **More information**
34
 
35
  - Visit the [Related Posts for WordPress website](http://www.relatedpostsforwp.com/?utm_source=wp-plugin-repo&utm_medium=link&utm_campaign=more-information)
@@ -79,6 +82,14 @@ There is one custom table created for the post cache, this table will however no
79
 
80
  == Changelog ==
81
 
 
 
 
 
 
 
 
 
82
  = 1.4.1: August 29, 2014 =
83
  * Added filter 'rp4wp_append_content' to allow disabling of related post append to content.
84
  * Fixed various hook and filter class bugs.
4
  Tags: related posts for wordpress, related posts for wp, simple related posts, easy related posts, related posts, related, relations, internal links, seo, bounce rate
5
  Requires at least: 3.6
6
  Tested up to: 4.0
7
+ Stable tag: 1.5.0
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
30
  = WPML compatible =
31
  Related Posts for WordPress is fully compatible with WPML. You can automatically add manually link related posts in their own language.
32
 
33
+ = Shortcode =
34
+ Related Posts for WordPress has a shortcode allowing you to display related posts on any position within your content.
35
+
36
  **More information**
37
 
38
  - Visit the [Related Posts for WordPress website](http://www.relatedpostsforwp.com/?utm_source=wp-plugin-repo&utm_medium=link&utm_campaign=more-information)
82
 
83
  == Changelog ==
84
 
85
+ = 1.5.0: September 5, 2014 =
86
+ * Added Related Posts widget.
87
+ * Changed 'Delete Post' label to 'Unlink Related Post'.
88
+ * Lowered amount of posts cached per request to increase feedback in wizard.
89
+ * Various small wizard tweaks.
90
+ * Added nonce check to wizard restart procedure.
91
+ * Fixed a plugin activation redirect bug.
92
+
93
  = 1.4.1: August 29, 2014 =
94
  * Added filter 'rp4wp_append_content' to allow disabling of related post append to content.
95
  * Fixed various hook and filter class bugs.
related-posts-for-wp.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Related Posts for WordPress
4
  Plugin URI: http://www.relatedpostsforwp.com/
5
  Description: Related Posts for WordPress, related posts that perform!
6
- Version: 1.4.1
7
  Author: Barry Kooij
8
  Author URI: http://www.barrykooij.com/
9
  License: GPL v3
@@ -26,7 +26,7 @@ class RP4WP {
26
 
27
  private static $instance = null;
28
 
29
- const VERSION = '1.4.1';
30
 
31
  /**
32
  * @var RP4WP_Settings
@@ -110,7 +110,7 @@ class RP4WP {
110
  delete_site_option( RP4WP_Constants::OPTION_DO_INSTALL );
111
 
112
  // Redirect to installation wizard
113
- wp_redirect( admin_url() . '?page=rp4wp_install', 301 );
114
  exit;
115
  }
116
 
3
  Plugin Name: Related Posts for WordPress
4
  Plugin URI: http://www.relatedpostsforwp.com/
5
  Description: Related Posts for WordPress, related posts that perform!
6
+ Version: 1.5.0
7
  Author: Barry Kooij
8
  Author URI: http://www.barrykooij.com/
9
  License: GPL v3
26
 
27
  private static $instance = null;
28
 
29
+ const VERSION = '1.5.0';
30
 
31
  /**
32
  * @var RP4WP_Settings
110
  delete_site_option( RP4WP_Constants::OPTION_DO_INSTALL );
111
 
112
  // Redirect to installation wizard
113
+ wp_redirect( admin_url() . '?page=rp4wp_install', 307 );
114
  exit;
115
  }
116