Admin Post Navigation - Version 1.6.1

Version Description

  • Use ucfirst() instead of strtoupper() to capitalize post type name for metabox title
  • Note compatibility through WP 3.2+
  • Minor code formatting changes (spacing)
  • Add FAQ section to readme.txt
  • Fix plugin homepage and author links in description in readme.txt
Download this release

Release Info

Developer coffee2code
Plugin Icon 128x128 Admin Post Navigation
Version 1.6.1
Comparing to
See all releases

Code changes from version 1.6 to 1.6.1

Files changed (2) hide show
  1. admin-post-navigation.php +11 -9
  2. readme.txt +42 -17
admin-post-navigation.php CHANGED
@@ -2,22 +2,25 @@
2
  /**
3
  * @package Admin_Post_Navigation
4
  * @author Scott Reilly
5
- * @version 1.6
6
  */
7
  /*
8
  Plugin Name: Admin Post Navigation
9
- Version: 1.6
10
  Plugin URI: http://coffee2code.com/wp-plugins/admin-post-navigation/
11
  Author: Scott Reilly
12
  Author URI: http://coffee2code.com
13
  Description: Adds links to the next and previous posts when editing a post in the WordPress admin.
14
 
15
- Compatible with WordPress 2.8+, 2.9+, 3.0+, 3.1+.
16
 
17
  =>> Read the accompanying readme.txt file for instructions and documentation.
18
  =>> Also, visit the plugin's homepage for additional information and updates.
19
  =>> Or visit: http://wordpress.org/extend/plugins/admin-post-navigation/
20
 
 
 
 
21
  */
22
 
23
  /*
@@ -36,9 +39,10 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRA
36
  IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
37
  */
38
 
39
- if ( is_admin() && !class_exists( 'c2c_AdminPostNavigation' ) ) :
40
 
41
  class c2c_AdminPostNavigation {
 
42
  private static $prev_text = '';
43
  private static $next_text = '';
44
  private static $post_statuses = array( 'draft', 'future', 'pending', 'private', 'publish' ); // Filterable later
@@ -86,7 +90,7 @@ class c2c_AdminPostNavigation {
86
 
87
  self::$post_statuses_sql = "'" . implode( "', '", array_map( 'esc_sql', $post_statuses ) ) . "'";
88
  if ( in_array( $post->post_status, $post_statuses ) )
89
- add_meta_box( 'adminpostnav', sprintf( '%s Navigation', strtoupper( $post_type ) ), array( __CLASS__, 'add_meta_box' ), $post_type, 'side', 'core' );
90
  }
91
 
92
  /**
@@ -108,7 +112,7 @@ class c2c_AdminPostNavigation {
108
  }
109
  $next = self::next_post();
110
  if ( $next ) {
111
- if ( !empty( $display ) )
112
  $display .= ' | ';
113
  $post_title = esc_attr( strip_tags( get_the_title( $next->ID ) ) ); /* If only the_title_attribute() accepted post ID as arg */
114
  $display .= '<a href="' . get_edit_post_link( $next->ID ) .
@@ -190,8 +194,6 @@ JS;
190
  $sql .= "ORDER BY $orderby $sort LIMIT $offset, $limit";
191
 
192
  // Find the first one the user can actually edit
193
- //echo "<p>query $type : ($sql)</p>";
194
- //die();
195
  $posts = $wpdb->get_results( $sql );
196
  $result = false;
197
  if ( $posts ) {
@@ -201,7 +203,7 @@ JS;
201
  break;
202
  }
203
  }
204
- if ( !$result ) { // The fetch did not yield a post editable by user, so query again.
205
  $offset += $limit;
206
  // Double the limit each time (if haven't found a post yet, chances are we may not, so try to get through posts quicker)
207
  $limit += $limit;
2
  /**
3
  * @package Admin_Post_Navigation
4
  * @author Scott Reilly
5
+ * @version 1.6.1
6
  */
7
  /*
8
  Plugin Name: Admin Post Navigation
9
+ Version: 1.6.1
10
  Plugin URI: http://coffee2code.com/wp-plugins/admin-post-navigation/
11
  Author: Scott Reilly
12
  Author URI: http://coffee2code.com
13
  Description: Adds links to the next and previous posts when editing a post in the WordPress admin.
14
 
15
+ Compatible with WordPress 2.8+, 2.9+, 3.0+, 3.1+, 3.2+.
16
 
17
  =>> Read the accompanying readme.txt file for instructions and documentation.
18
  =>> Also, visit the plugin's homepage for additional information and updates.
19
  =>> Or visit: http://wordpress.org/extend/plugins/admin-post-navigation/
20
 
21
+ TODO:
22
+ * Update screenshots for WP3.2
23
+ * L10n
24
  */
25
 
26
  /*
39
  IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
40
  */
41
 
42
+ if ( is_admin() && ! class_exists( 'c2c_AdminPostNavigation' ) ) :
43
 
44
  class c2c_AdminPostNavigation {
45
+
46
  private static $prev_text = '';
47
  private static $next_text = '';
48
  private static $post_statuses = array( 'draft', 'future', 'pending', 'private', 'publish' ); // Filterable later
90
 
91
  self::$post_statuses_sql = "'" . implode( "', '", array_map( 'esc_sql', $post_statuses ) ) . "'";
92
  if ( in_array( $post->post_status, $post_statuses ) )
93
+ add_meta_box( 'adminpostnav', sprintf( '%s Navigation', ucfirst( $post_type ) ), array( __CLASS__, 'add_meta_box' ), $post_type, 'side', 'core' );
94
  }
95
 
96
  /**
112
  }
113
  $next = self::next_post();
114
  if ( $next ) {
115
+ if ( ! empty( $display ) )
116
  $display .= ' | ';
117
  $post_title = esc_attr( strip_tags( get_the_title( $next->ID ) ) ); /* If only the_title_attribute() accepted post ID as arg */
118
  $display .= '<a href="' . get_edit_post_link( $next->ID ) .
194
  $sql .= "ORDER BY $orderby $sort LIMIT $offset, $limit";
195
 
196
  // Find the first one the user can actually edit
 
 
197
  $posts = $wpdb->get_results( $sql );
198
  $result = false;
199
  if ( $posts ) {
203
  break;
204
  }
205
  }
206
+ if ( ! $result ) { // The fetch did not yield a post editable by user, so query again.
207
  $offset += $limit;
208
  // Double the limit each time (if haven't found a post yet, chances are we may not, so try to get through posts quicker)
209
  $limit += $limit;
readme.txt CHANGED
@@ -3,9 +3,9 @@ Contributors: coffee2code
3
  Donate link: http://coffee2code.com/donate
4
  Tags: admin, navigation, post, next, previous, edit, post types, coffee2code
5
  Requires at least: 2.8
6
- Tested up to: 3.1
7
- Stable tag: 1.6
8
- Version: 1.6
9
 
10
  Adds links to the next and previous posts when editing a post in the WordPress admin.
11
 
@@ -20,7 +20,7 @@ Currently, a previous/next post is determined by the next lower/higher valid pos
20
 
21
  NOTE: Be sure to save the post currently being edited before navigating away to the previous/next post.
22
 
23
- Links: [Plugin Homepage]:(http://coffee2code.com/wp-plugins/admin-post-navigation/) | [Author Homepage]:(http://coffee2code.com)
24
 
25
 
26
  == Installation ==
@@ -36,11 +36,18 @@ Links: [Plugin Homepage]:(http://coffee2code.com/wp-plugins/admin-post-navigatio
36
  2. A screenshot of the previous/next links in their own 'Edit Post' admin page sidebar panel when Javascript is disabled for the admin user.
37
 
38
 
 
 
 
 
 
 
 
39
  == Filters ==
40
 
41
- The plugin is further customizable via three filters. Typically, these customizations would be put into your active theme's functions.php file, or used by another plugin.
42
 
43
- = c2c_admin_post_navigation_orderby =
44
 
45
  The 'c2c_admin_post_navigation_orderby' filter allows you to change the post field used in the ORDER BY clause for the SQL to find the previous/next post. By default this is 'ID' for non-hierarchical post types (such as posts) and 'post_title' for hierarchical post types (such as pages). If you wish to change this, hook this filter. This is not typical usage for most users.
46
 
@@ -55,7 +62,7 @@ function order_apn_by_post_date( $field ) {
55
  return 'post_date';
56
  }`
57
 
58
- = c2c_admin_post_navigation_post_statuses =
59
 
60
  The 'c2c_admin_post_navigation_post_statuses' filter allows you to modify the list of post_statuses used as part of the search for the prev/next post. By default this array includes 'draft', 'future', 'pending', 'private', and 'publish'. If you wish to change this, hook this filter. This is not typical usage for most users.
61
 
@@ -65,14 +72,16 @@ Arguments:
65
 
66
  Example:
67
 
68
- `add_filter( 'c2c_admin_post_navigation_post_statuses', 'change_apn_post_status' );
 
69
  function change_apn_post_status( $post_statuses ) {
70
  $post_statuses[] = 'trash'; // Adding a post status
71
  if ( isset( $post_statuses['future'] ) ) unset( $post_statuses['future'] ); // Removing a post status
72
  return $post_statuses;
73
- }`
 
74
 
75
- = c2c_admin_post_navigation_post_types =
76
 
77
  The 'c2c_admin_post_navigation_post_types' filter allows you to modify the list of post_types used as part of the search for the prev/next post. By default this array includes all available post types. If you wish to change this, hook this filter.
78
 
@@ -82,21 +91,25 @@ Arguments:
82
 
83
  Examples:
84
 
85
- `// Modify Admin Post Navigation to only allow navigating strictly for posts.
 
86
  add_filter( 'c2c_admin_post_navigation_post_types', 'change_apn_post_types' );
87
  function change_apn_post_types( $post_types ) {
88
  return array( 'post' );
89
- }`
 
90
 
91
- `// Modify Admin Post Navigation to disallow navigation for the 'recipe' post type
 
92
  add_filter( 'c2c_admin_post_navigation_post_types', 'remove_recipe_apn_post_types' );
93
  function remove_recipe_apn_post_types( $post_types ) {
94
  if ( isset( $post_types['recipe'] ) )
95
  unset( $post_types['recipe'] ); // Removing a post type
96
  return $post_types;
97
- }`
 
98
 
99
- = c2c_admin_post_navigation_display =
100
 
101
  The 'c2c_admin_post_navigation_display' filter allows you to customize the output links for the post navigation.
102
 
@@ -106,15 +119,24 @@ Arguments:
106
 
107
  Example:
108
 
109
- `add_filter( 'c2c_admin_post_navigation_display', 'override_apn_display' );
 
110
  function override_apn_display( $text ) {
111
  // Simplistic example. You could preferably make the text bold using CSS.
112
  return '<strong>' . $text . '</strong>';
113
- }`
 
114
 
115
 
116
  == Changelog ==
117
 
 
 
 
 
 
 
 
118
  = 1.6 =
119
  * Add support for navigation in other post types
120
  * Add filter 'c2c_admin_post_navigation_post_types' for customizing valid post_types for search
@@ -173,6 +195,9 @@ function override_apn_display( $text ) {
173
 
174
  == Upgrade Notice ==
175
 
 
 
 
176
  = 1.6 =
177
  Feature update: added support for non-'post' post types; fixed so navigation only appears for posts of appropriate post status; implementation changes; renamed class; updated copyright date; other minor code changes.
178
 
3
  Donate link: http://coffee2code.com/donate
4
  Tags: admin, navigation, post, next, previous, edit, post types, coffee2code
5
  Requires at least: 2.8
6
+ Tested up to: 3.2.1
7
+ Stable tag: 1.6.1
8
+ Version: 1.6.1
9
 
10
  Adds links to the next and previous posts when editing a post in the WordPress admin.
11
 
20
 
21
  NOTE: Be sure to save the post currently being edited before navigating away to the previous/next post.
22
 
23
+ Links: [Plugin Homepage](http://coffee2code.com/wp-plugins/admin-post-navigation/) | [Author Homepage](http://coffee2code.com)
24
 
25
 
26
  == Installation ==
36
  2. A screenshot of the previous/next links in their own 'Edit Post' admin page sidebar panel when Javascript is disabled for the admin user.
37
 
38
 
39
+ == Frequently Asked Questions ==
40
+
41
+ = How do I change it so the previous/next links find the adjacent post according to post_date? =
42
+
43
+ See the Filters section for the `c2c_admin_post_navigation_orderby` filter, which has just such an example.
44
+
45
+
46
  == Filters ==
47
 
48
+ The plugin is further customizable via four filters. Typically, these customizations would be put into your active theme's functions.php file, or used by another plugin.
49
 
50
+ = c2c_admin_post_navigation_orderby (filter) =
51
 
52
  The 'c2c_admin_post_navigation_orderby' filter allows you to change the post field used in the ORDER BY clause for the SQL to find the previous/next post. By default this is 'ID' for non-hierarchical post types (such as posts) and 'post_title' for hierarchical post types (such as pages). If you wish to change this, hook this filter. This is not typical usage for most users.
53
 
62
  return 'post_date';
63
  }`
64
 
65
+ = c2c_admin_post_navigation_post_statuses (filter) =
66
 
67
  The 'c2c_admin_post_navigation_post_statuses' filter allows you to modify the list of post_statuses used as part of the search for the prev/next post. By default this array includes 'draft', 'future', 'pending', 'private', and 'publish'. If you wish to change this, hook this filter. This is not typical usage for most users.
68
 
72
 
73
  Example:
74
 
75
+ `
76
+ add_filter( 'c2c_admin_post_navigation_post_statuses', 'change_apn_post_status' );
77
  function change_apn_post_status( $post_statuses ) {
78
  $post_statuses[] = 'trash'; // Adding a post status
79
  if ( isset( $post_statuses['future'] ) ) unset( $post_statuses['future'] ); // Removing a post status
80
  return $post_statuses;
81
+ }
82
+ `
83
 
84
+ = c2c_admin_post_navigation_post_types (filter) =
85
 
86
  The 'c2c_admin_post_navigation_post_types' filter allows you to modify the list of post_types used as part of the search for the prev/next post. By default this array includes all available post types. If you wish to change this, hook this filter.
87
 
91
 
92
  Examples:
93
 
94
+ `
95
+ // Modify Admin Post Navigation to only allow navigating strictly for posts.
96
  add_filter( 'c2c_admin_post_navigation_post_types', 'change_apn_post_types' );
97
  function change_apn_post_types( $post_types ) {
98
  return array( 'post' );
99
+ }
100
+ `
101
 
102
+ `
103
+ // Modify Admin Post Navigation to disallow navigation for the 'recipe' post type
104
  add_filter( 'c2c_admin_post_navigation_post_types', 'remove_recipe_apn_post_types' );
105
  function remove_recipe_apn_post_types( $post_types ) {
106
  if ( isset( $post_types['recipe'] ) )
107
  unset( $post_types['recipe'] ); // Removing a post type
108
  return $post_types;
109
+ }
110
+ `
111
 
112
+ = c2c_admin_post_navigation_display (filter) =
113
 
114
  The 'c2c_admin_post_navigation_display' filter allows you to customize the output links for the post navigation.
115
 
119
 
120
  Example:
121
 
122
+ `
123
+ add_filter( 'c2c_admin_post_navigation_display', 'override_apn_display' );
124
  function override_apn_display( $text ) {
125
  // Simplistic example. You could preferably make the text bold using CSS.
126
  return '<strong>' . $text . '</strong>';
127
+ }
128
+ `
129
 
130
 
131
  == Changelog ==
132
 
133
+ = 1.6.1 =
134
+ * Use ucfirst() instead of strtoupper() to capitalize post type name for metabox title
135
+ * Note compatibility through WP 3.2+
136
+ * Minor code formatting changes (spacing)
137
+ * Add FAQ section to readme.txt
138
+ * Fix plugin homepage and author links in description in readme.txt
139
+
140
  = 1.6 =
141
  * Add support for navigation in other post types
142
  * Add filter 'c2c_admin_post_navigation_post_types' for customizing valid post_types for search
195
 
196
  == Upgrade Notice ==
197
 
198
+ = 1.6.1 =
199
+ Trivial update: noted compatibility through WP 3.2+
200
+
201
  = 1.6 =
202
  Feature update: added support for non-'post' post types; fixed so navigation only appears for posts of appropriate post status; implementation changes; renamed class; updated copyright date; other minor code changes.
203