Version Description
- Fixed ordering in WordPress 4.0 following core changes to ORDER BY in WP_Query
Download this release
Release Info
Developer | jakemgold |
Plugin | Simple Page Ordering |
Version | 2.2.3 |
Comparing to | |
See all releases |
Code changes from version 2.2.2 to 2.2.3
- readme.txt +6 -3
- simple-page-ordering.php +18 -8
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: jakemgold, 10up, thinkoomph
|
|
3 |
Donate link: http://10up.com/plugins/simple-page-ordering-wordpress/
|
4 |
Tags: order, re-order, ordering, pages, page, manage, menu_order, hierarchical, ajax, drag-and-drop, admin
|
5 |
Requires at least: 3.8
|
6 |
-
Tested up to:
|
7 |
-
Stable tag: 2.2.
|
8 |
|
9 |
Order your pages and other hierarchical post types with simple drag and drop right from the standard page list.
|
10 |
|
@@ -75,7 +75,10 @@ This feature is already built into WordPress natively, but a bit tucked away. If
|
|
75 |
1. Processing indicator
|
76 |
|
77 |
|
78 |
-
== Changelog ==
|
|
|
|
|
|
|
79 |
|
80 |
= 2.2.2 =
|
81 |
* Column widths no longer change when dragging a row (partial props griffinjt)
|
3 |
Donate link: http://10up.com/plugins/simple-page-ordering-wordpress/
|
4 |
Tags: order, re-order, ordering, pages, page, manage, menu_order, hierarchical, ajax, drag-and-drop, admin
|
5 |
Requires at least: 3.8
|
6 |
+
Tested up to: 4.0
|
7 |
+
Stable tag: 2.2.3
|
8 |
|
9 |
Order your pages and other hierarchical post types with simple drag and drop right from the standard page list.
|
10 |
|
75 |
1. Processing indicator
|
76 |
|
77 |
|
78 |
+
== Changelog ==
|
79 |
+
|
80 |
+
= 2.2.3 =
|
81 |
+
* Fixed ordering in WordPress 4.0 following core changes to ORDER BY in WP_Query
|
82 |
|
83 |
= 2.2.2 =
|
84 |
* Column widths no longer change when dragging a row (partial props griffinjt)
|
simple-page-ordering.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Simple Page Ordering
|
4 |
Plugin URI: http://10up.com/plugins/simple-page-ordering-wordpress/
|
5 |
Description: Order your pages and hierarchical post types using drag and drop on the built in page list. For further instructions, open the "Help" tab on the Pages screen.
|
6 |
-
Version: 2.2.
|
7 |
Author: Jake Goldman, 10up
|
8 |
Author URI: http://10up.com
|
9 |
License: GPLv2 or later
|
@@ -80,7 +80,8 @@ class Simple_Page_Ordering {
|
|
80 |
* when we load up our posts query, if we're actually sorting by menu order, initialize sorting scripts
|
81 |
*/
|
82 |
public static function wp() {
|
83 |
-
|
|
|
84 |
$script_name = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? 'simple-page-ordering.dev.js' : 'simple-page-ordering.js';
|
85 |
wp_enqueue_script( 'simple-page-ordering', plugins_url( $script_name, __FILE__ ), array('jquery-ui-sortable'), '2.1', true );
|
86 |
wp_enqueue_style( 'simple-page-ordering', plugins_url( 'simple-page-ordering.css', __FILE__ ) );
|
@@ -120,6 +121,8 @@ class Simple_Page_Ordering {
|
|
120 |
error_reporting( 0 );
|
121 |
}
|
122 |
|
|
|
|
|
123 |
$previd = empty( $_POST['previd'] ) ? false : (int) $_POST['previd'];
|
124 |
$nextid = empty( $_POST['nextid'] ) ? false : (int) $_POST['nextid'];
|
125 |
$start = empty( $_POST['start'] ) ? 1 : (int) $_POST['start'];
|
@@ -156,20 +159,24 @@ class Simple_Page_Ordering {
|
|
156 |
'show_in_admin_all_list' => true,
|
157 |
));
|
158 |
|
159 |
-
$
|
160 |
'depth' => 1,
|
161 |
'posts_per_page' => $max_sortable_posts,
|
162 |
'post_type' => $post->post_type,
|
163 |
'post_status' => $post_stati,
|
164 |
'post_parent' => $parent_id,
|
165 |
-
'orderby' => 'menu_order title',
|
166 |
-
'order' => 'ASC',
|
167 |
'post__not_in' => $excluded,
|
168 |
'update_post_term_cache' => false,
|
169 |
'update_post_meta_cache' => false,
|
170 |
'suppress_filters' => true,
|
171 |
'ignore_sticky_posts' => true,
|
172 |
-
)
|
|
|
|
|
|
|
|
|
|
|
173 |
|
174 |
// don't waste overhead of revisions on a menu order change (especially since they can't *all* be rolled back at once)
|
175 |
remove_action( 'pre_post_update', 'wp_save_post_revision' );
|
@@ -274,8 +281,11 @@ class Simple_Page_Ordering {
|
|
274 |
*/
|
275 |
public static function sort_by_order_link( $views ) {
|
276 |
$class = ( get_query_var('orderby') == 'menu_order title' ) ? 'current' : '';
|
277 |
-
$query_string = esc_url( remove_query_arg(array( 'orderby', 'order' )) );
|
278 |
-
|
|
|
|
|
|
|
279 |
$views['byorder'] = sprintf('<a href="%s" class="%s">%s</a>', $query_string, $class, __("Sort by Order", 'simple-page-ordering'));
|
280 |
|
281 |
return $views;
|
3 |
Plugin Name: Simple Page Ordering
|
4 |
Plugin URI: http://10up.com/plugins/simple-page-ordering-wordpress/
|
5 |
Description: Order your pages and hierarchical post types using drag and drop on the built in page list. For further instructions, open the "Help" tab on the Pages screen.
|
6 |
+
Version: 2.2.3
|
7 |
Author: Jake Goldman, 10up
|
8 |
Author URI: http://10up.com
|
9 |
License: GPLv2 or later
|
80 |
* when we load up our posts query, if we're actually sorting by menu order, initialize sorting scripts
|
81 |
*/
|
82 |
public static function wp() {
|
83 |
+
$orderby = get_query_var('orderby');
|
84 |
+
if ( ( is_string( $orderby ) && 0 === strpos( $orderby, 'menu_order' ) ) || ( isset( $orderby['menu_order'] ) && $orderby['menu_order'] == 'ASC' ) ) {
|
85 |
$script_name = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? 'simple-page-ordering.dev.js' : 'simple-page-ordering.js';
|
86 |
wp_enqueue_script( 'simple-page-ordering', plugins_url( $script_name, __FILE__ ), array('jquery-ui-sortable'), '2.1', true );
|
87 |
wp_enqueue_style( 'simple-page-ordering', plugins_url( 'simple-page-ordering.css', __FILE__ ) );
|
121 |
error_reporting( 0 );
|
122 |
}
|
123 |
|
124 |
+
global $wp_version;
|
125 |
+
|
126 |
$previd = empty( $_POST['previd'] ) ? false : (int) $_POST['previd'];
|
127 |
$nextid = empty( $_POST['nextid'] ) ? false : (int) $_POST['nextid'];
|
128 |
$start = empty( $_POST['start'] ) ? 1 : (int) $_POST['start'];
|
159 |
'show_in_admin_all_list' => true,
|
160 |
));
|
161 |
|
162 |
+
$siblings_query = array(
|
163 |
'depth' => 1,
|
164 |
'posts_per_page' => $max_sortable_posts,
|
165 |
'post_type' => $post->post_type,
|
166 |
'post_status' => $post_stati,
|
167 |
'post_parent' => $parent_id,
|
168 |
+
'orderby' => array( 'menu_order' => 'ASC', 'title' => 'ASC' ),
|
|
|
169 |
'post__not_in' => $excluded,
|
170 |
'update_post_term_cache' => false,
|
171 |
'update_post_meta_cache' => false,
|
172 |
'suppress_filters' => true,
|
173 |
'ignore_sticky_posts' => true,
|
174 |
+
);
|
175 |
+
if ( version_compare( $wp_version, '4.0', '<' ) ) {
|
176 |
+
$siblings_query['orderby'] = 'menu_order title';
|
177 |
+
$siblings_query['order'] = 'ASC';
|
178 |
+
}
|
179 |
+
$siblings = new WP_Query( $siblings_query ); // fetch all the siblings (relative ordering)
|
180 |
|
181 |
// don't waste overhead of revisions on a menu order change (especially since they can't *all* be rolled back at once)
|
182 |
remove_action( 'pre_post_update', 'wp_save_post_revision' );
|
281 |
*/
|
282 |
public static function sort_by_order_link( $views ) {
|
283 |
$class = ( get_query_var('orderby') == 'menu_order title' ) ? 'current' : '';
|
284 |
+
$query_string = esc_url( remove_query_arg( array( 'orderby', 'order' ) ) );
|
285 |
+
if ( ! is_post_type_hierarchical( get_post_type() ) ) {
|
286 |
+
$query_string = add_query_arg( 'orderby', urlencode( 'menu_order title' ), $query_string );
|
287 |
+
$query_string = add_query_arg( 'order', 'asc', $query_string );
|
288 |
+
}
|
289 |
$views['byorder'] = sprintf('<a href="%s" class="%s">%s</a>', $query_string, $class, __("Sort by Order", 'simple-page-ordering'));
|
290 |
|
291 |
return $views;
|