Version Description
- Updated look and feel to better match WordPress 3.8 admin redesign
- Improved awareness of and compatibility with Quick Edit (inline editor)
- Prevent collisions with themes and plugins bundling Simple Page Ordering
Download this release
Release Info
Developer | jakemgold |
Plugin | Simple Page Ordering |
Version | 2.2 |
Comparing to | |
See all releases |
Code changes from version 2.1.2 to 2.2
- readme.txt +8 -3
- screenshot-1.png +0 -0
- screenshot-2.png +0 -0
- simple-page-ordering.css +10 -19
- simple-page-ordering.dev.js +10 -4
- simple-page-ordering.js +1 -1
- simple-page-ordering.php +79 -26
readme.txt
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
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.
|
6 |
-
Tested up to: 3.
|
7 |
-
Stable tag: 2.
|
8 |
|
9 |
Order your pages and other hierarchical post types with simple drag and drop right from the standard page list.
|
10 |
|
@@ -77,6 +77,11 @@ This feature is already built into WordPress natively, but a bit tucked away. If
|
|
77 |
|
78 |
== Changelog ==
|
79 |
|
|
|
|
|
|
|
|
|
|
|
80 |
= 2.1.2 =
|
81 |
* Bug fix: hierarchical custom post types without page-attributes was still broken - doh!
|
82 |
* Bug fix: extreme edge case where post columns did not include the post title now supported
|
2 |
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: 3.9
|
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 |
|
77 |
|
78 |
== Changelog ==
|
79 |
|
80 |
+
= 2.2 =
|
81 |
+
* Updated look and feel to better match WordPress 3.8 admin redesign
|
82 |
+
* Improved awareness of and compatibility with Quick Edit (inline editor)
|
83 |
+
* Prevent collisions with themes and plugins bundling Simple Page Ordering
|
84 |
+
|
85 |
= 2.1.2 =
|
86 |
* Bug fix: hierarchical custom post types without page-attributes was still broken - doh!
|
87 |
* Bug fix: extreme edge case where post columns did not include the post title now supported
|
screenshot-1.png
DELETED
Binary file
|
screenshot-2.png
DELETED
Binary file
|
simple-page-ordering.css
CHANGED
@@ -1,40 +1,31 @@
|
|
1 |
.wp-list-table .ui-sortable tr {
|
2 |
cursor: move;
|
3 |
}
|
4 |
-
|
|
|
|
|
5 |
cursor: default;
|
6 |
}
|
|
|
7 |
.wp-list-table .ui-sortable-placeholder {
|
8 |
-
|
9 |
-
|
10 |
-
background: #808080;
|
11 |
-
background-image: -webkit-gradient(linear, left bottom, left top, from(#6d6d6d), to(#808080));
|
12 |
-
background-image: -webkit-linear-gradient(bottom, #6d6d6d, #808080);
|
13 |
-
background-image: -moz-linear-gradient(bottom, #6d6d6d, #808080);
|
14 |
-
background-image: -o-linear-gradient(bottom, #6d6d6d, #808080);
|
15 |
-
background-image: linear-gradient(to top, #6d6d6d, #808080);
|
16 |
visibility: visible !important;
|
17 |
}
|
18 |
.wp-list-table .ui-sortable-helper {
|
19 |
background-color: #fff;
|
20 |
-
|
21 |
-
border: 1px solid #dfdfdf;
|
22 |
}
|
23 |
-
.wp-list-table .ui-sortable-helper th,
|
24 |
-
.wp-list-table .ui-sortable-helper td {
|
25 |
-
border-bottom-width: 0 !important;
|
26 |
-
}
|
27 |
-
|
28 |
.spo-updating-row .check-column {
|
29 |
-
background: url('../../../wp-admin/images/
|
30 |
}
|
31 |
@media print,
|
32 |
(-o-min-device-pixel-ratio: 5/4),
|
33 |
(-webkit-min-device-pixel-ratio: 1.25),
|
34 |
(min-resolution: 120dpi) {
|
35 |
.spo-updating-row .check-column {
|
36 |
-
background-image: url('../../../wp-admin/images/
|
37 |
-
background-size:
|
38 |
}
|
39 |
}
|
40 |
.spo-updating-row .check-column input {
|
1 |
.wp-list-table .ui-sortable tr {
|
2 |
cursor: move;
|
3 |
}
|
4 |
+
|
5 |
+
.wp-list-table .spo-updating tr,
|
6 |
+
.wp-list-table .ui-sortable tr.inline-editor {
|
7 |
cursor: default;
|
8 |
}
|
9 |
+
|
10 |
.wp-list-table .ui-sortable-placeholder {
|
11 |
+
outline: 1px dashed #bbb;
|
12 |
+
background: #F1F1F1;
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
visibility: visible !important;
|
14 |
}
|
15 |
.wp-list-table .ui-sortable-helper {
|
16 |
background-color: #fff;
|
17 |
+
outline: 1px solid #e1e1e1;
|
|
|
18 |
}
|
|
|
|
|
|
|
|
|
|
|
19 |
.spo-updating-row .check-column {
|
20 |
+
background: url('../../../wp-admin/images/spinner.gif') 11px 11px no-repeat;
|
21 |
}
|
22 |
@media print,
|
23 |
(-o-min-device-pixel-ratio: 5/4),
|
24 |
(-webkit-min-device-pixel-ratio: 1.25),
|
25 |
(min-resolution: 120dpi) {
|
26 |
.spo-updating-row .check-column {
|
27 |
+
background-image: url('../../../wp-admin/images/spinner-2x.gif');
|
28 |
+
background-size: 20px 20px;
|
29 |
}
|
30 |
}
|
31 |
.spo-updating-row .check-column input {
|
simple-page-ordering.dev.js
CHANGED
@@ -63,11 +63,16 @@ sortable_post_table.sortable({
|
|
63 |
cursor: 'move',
|
64 |
axis: 'y',
|
65 |
containment: 'table.widefat',
|
66 |
-
scrollSensitivity: 40,
|
67 |
cancel: '.inline-edit-row',
|
68 |
-
distance:
|
69 |
-
opacity: .
|
70 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
update: function(event, ui) {
|
72 |
sortable_post_table.sortable('disable').addClass('spo-updating');
|
73 |
ui.item.addClass('spo-updating-row');
|
@@ -99,5 +104,6 @@ sortable_post_table.sortable({
|
|
99 |
jQuery( table_rows[table_row_count]).removeClass('alternate');
|
100 |
}
|
101 |
}
|
|
|
102 |
}
|
103 |
});
|
63 |
cursor: 'move',
|
64 |
axis: 'y',
|
65 |
containment: 'table.widefat',
|
|
|
66 |
cancel: '.inline-edit-row',
|
67 |
+
distance: 2,
|
68 |
+
opacity: .8,
|
69 |
+
tolerance: 'pointer',
|
70 |
+
start: function(e, ui){
|
71 |
+
if ( typeof(inlineEditPost) !== 'undefined' ) {
|
72 |
+
inlineEditPost.revert();
|
73 |
+
}
|
74 |
+
ui.placeholder.height(ui.item.height());
|
75 |
+
},
|
76 |
update: function(event, ui) {
|
77 |
sortable_post_table.sortable('disable').addClass('spo-updating');
|
78 |
ui.item.addClass('spo-updating-row');
|
104 |
jQuery( table_rows[table_row_count]).removeClass('alternate');
|
105 |
}
|
106 |
}
|
107 |
+
// fix quick edit
|
108 |
}
|
109 |
});
|
simple-page-ordering.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function update_simple_ordering_callback(e){if("children"===e){window.location.reload();return}var t=jQuery.parseJSON(e);var n=t.new_pos;for(var r in n){if("next"===r)continue;var i=document.getElementById("inline_"+r);if(null!==i&&n.hasOwnProperty(r)){var s=i.querySelector(".menu_order");if(undefined!==n[r]["menu_order"]){if(null!==s)s.innerHTML=n[r]["menu_order"];var o=i.querySelector(".post_parent");if(null!==o)o.innerHTML=n[r]["post_parent"];var u=null;var a=i.querySelector(".post_title");if(null!==a)u=a.innerHTML;var f=0;while(f<n[r]["depth"]){u="
|
1 |
+
function update_simple_ordering_callback(e){if("children"===e){window.location.reload();return}var t=jQuery.parseJSON(e);var n=t.new_pos;for(var r in n){if("next"===r)continue;var i=document.getElementById("inline_"+r);if(null!==i&&n.hasOwnProperty(r)){var s=i.querySelector(".menu_order");if(undefined!==n[r]["menu_order"]){if(null!==s)s.innerHTML=n[r]["menu_order"];var o=i.querySelector(".post_parent");if(null!==o)o.innerHTML=n[r]["post_parent"];var u=null;var a=i.querySelector(".post_title");if(null!==a)u=a.innerHTML;var f=0;while(f<n[r]["depth"]){u="— "+u;f++}var l=i.parentNode.querySelector(".row-title");if(null!==l&&null!==u)l.innerHTML=u}else if(null!==s){s.innerHTML=n[r]}}}if(t.next){jQuery.post(ajaxurl,{action:"simple_page_ordering",id:t.next["id"],previd:t.next["previd"],nextid:t.next["nextid"],start:t.next["start"],excluded:t.next["excluded"]},update_simple_ordering_callback)}else{jQuery(document.querySelector(".spo-updating-row")).removeClass("spo-updating-row");sortable_post_table.removeClass("spo-updating").sortable("enable")}}var sortable_post_table=jQuery(document.querySelector(".wp-list-table tbody"));sortable_post_table.sortable({items:"> tr",cursor:"move",axis:"y",containment:"table.widefat",cancel:".inline-edit-row",distance:2,opacity:.8,tolerance:"pointer",start:function(e,t){if(typeof inlineEditPost!=="undefined"){inlineEditPost.revert()}t.placeholder.height(t.item.height())},update:function(e,t){sortable_post_table.sortable("disable").addClass("spo-updating");t.item.addClass("spo-updating-row");var n=t.item[0].id.substr(5);var r=false;var i=t.item.prev();if(i.length>0){r=i.attr("id").substr(5)}var s=false;var o=t.item.next();if(o.length>0){s=o.attr("id").substr(5)}jQuery.post(ajaxurl,{action:"simple_page_ordering",id:n,previd:r,nextid:s},update_simple_ordering_callback);var u=document.querySelectorAll("tr.iedit"),a=u.length;while(a--){if(a%2==0){jQuery(u[a]).addClass("alternate")}else{jQuery(u[a]).removeClass("alternate")}}}})
|
simple-page-ordering.php
CHANGED
@@ -3,46 +3,84 @@
|
|
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.
|
7 |
Author: Jake Goldman, 10up
|
8 |
Author URI: http://10up.com
|
9 |
License: GPLv2 or later
|
10 |
*/
|
11 |
|
|
|
|
|
12 |
class Simple_Page_Ordering {
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
18 |
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
$screen = get_current_screen();
|
21 |
$post_type = $screen->post_type;
|
22 |
|
23 |
// is post type sortable?
|
24 |
$sortable = ( post_type_supports( $post_type, 'page-attributes' ) || is_post_type_hierarchical( $post_type ) ); // check permission
|
25 |
-
if ( ! $sortable = apply_filters( 'simple_page_ordering_is_sortable', $sortable, $post_type ) )
|
26 |
return;
|
|
|
27 |
|
28 |
// does user have the right to manage these post objects?
|
29 |
-
if ( !
|
30 |
return;
|
|
|
31 |
|
32 |
-
add_filter( 'views_' . $screen->id, array(
|
33 |
-
add_action( 'wp', array(
|
34 |
-
add_action( 'admin_head', array(
|
35 |
}
|
36 |
|
37 |
-
|
38 |
-
|
|
|
|
|
|
|
39 |
$script_name = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? 'simple-page-ordering.dev.js' : 'simple-page-ordering.js';
|
40 |
wp_enqueue_script( 'simple-page-ordering', plugins_url( $script_name, __FILE__ ), array('jquery-ui-sortable'), '2.1', true );
|
41 |
wp_enqueue_style( 'simple-page-ordering', plugins_url( 'simple-page-ordering.css', __FILE__ ) );
|
42 |
}
|
43 |
}
|
44 |
|
45 |
-
|
|
|
|
|
|
|
46 |
$screen = get_current_screen();
|
47 |
$screen->add_help_tab(array(
|
48 |
'id' => 'simple_page_ordering_help_tab',
|
@@ -51,22 +89,26 @@ class Simple_Page_Ordering {
|
|
51 |
));
|
52 |
}
|
53 |
|
54 |
-
public function ajax_simple_page_ordering() {
|
55 |
// check and make sure we have what we need
|
56 |
-
if ( empty( $_POST['id'] ) || ( !isset( $_POST['previd'] ) && !isset( $_POST['nextid'] ) ) )
|
57 |
die(-1);
|
|
|
58 |
|
59 |
// real post?
|
60 |
-
if ( ! $post = get_post( $_POST['id'] ) )
|
61 |
die(-1);
|
|
|
62 |
|
63 |
// does user have the right to manage these post objects?
|
64 |
-
if ( !
|
65 |
die(-1);
|
|
|
66 |
|
67 |
// badly written plug-in hooks for save post can break things
|
68 |
-
if ( !defined( 'WP_DEBUG' ) || !WP_DEBUG )
|
69 |
error_reporting( 0 );
|
|
|
70 |
|
71 |
$previd = empty( $_POST['previd'] ) ? false : (int) $_POST['previd'];
|
72 |
$nextid = empty( $_POST['nextid'] ) ? false : (int) $_POST['nextid'];
|
@@ -90,12 +132,14 @@ class Simple_Page_Ordering {
|
|
90 |
}
|
91 |
}
|
92 |
// if the next post's parent isn't our parent, it might as well be false (irrelevant to our query)
|
93 |
-
if ( $next_post_parent !== $parent_id )
|
94 |
$nextid = false;
|
|
|
95 |
|
96 |
$max_sortable_posts = (int) apply_filters( 'simple_page_ordering_limit', 50 ); // should reliably be able to do about 50 at a time
|
97 |
-
if ( $max_sortable_posts < 5 ) // don't be ridiculous!
|
98 |
$max_sortable_posts = 50;
|
|
|
99 |
|
100 |
// we need to handle all post stati, except trash (in case of custom stati)
|
101 |
$post_stati = get_post_stati(array(
|
@@ -123,8 +167,9 @@ class Simple_Page_Ordering {
|
|
123 |
foreach( $siblings->posts as $sibling ) :
|
124 |
|
125 |
// don't handle the actual post
|
126 |
-
if ( $sibling->ID === $post->ID )
|
127 |
continue;
|
|
|
128 |
|
129 |
// if this is the post that comes after our repositioned post, set our repositioned post position and increment menu order
|
130 |
if ( $nextid === $sibling->ID ) {
|
@@ -210,7 +255,13 @@ class Simple_Page_Ordering {
|
|
210 |
die( json_encode( $return_data ) );
|
211 |
}
|
212 |
|
213 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
$class = ( get_query_var('orderby') == 'menu_order title' ) ? 'current' : '';
|
215 |
$query_string = remove_query_arg(array( 'orderby', 'order' ));
|
216 |
$query_string = add_query_arg( 'orderby', urlencode('menu_order title'), $query_string );
|
@@ -221,14 +272,16 @@ class Simple_Page_Ordering {
|
|
221 |
/**
|
222 |
* Checks to see if the current user has the capability to "edit others" for a post type
|
223 |
*
|
224 |
-
* @param
|
225 |
-
* @return
|
226 |
*/
|
227 |
-
|
228 |
$post_type_object = get_post_type_object( $post_type );
|
229 |
$edit_others_cap = empty( $post_type_object ) ? 'edit_others_' . $post_type . 's' : $post_type_object->cap->edit_others_posts;
|
230 |
return apply_filters( 'simple_page_ordering_edit_rights', current_user_can( $edit_others_cap ), $post_type );
|
231 |
}
|
232 |
}
|
233 |
|
234 |
-
|
|
|
|
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
|
10 |
*/
|
11 |
|
12 |
+
if ( ! class_exists( 'Simple_Page_Ordering' ) ) :
|
13 |
+
|
14 |
class Simple_Page_Ordering {
|
15 |
|
16 |
+
/**
|
17 |
+
* Handles initializing this class and returning the singleton instance after it's been cached.
|
18 |
+
*
|
19 |
+
* @return null|Simple_page_Ordering
|
20 |
+
*/
|
21 |
+
public static function get_instance() {
|
22 |
+
// Store the instance locally to avoid private static replication
|
23 |
+
static $instance = null;
|
24 |
+
|
25 |
+
if ( null === $instance ) {
|
26 |
+
$instance = new self();
|
27 |
+
self::_add_actions();
|
28 |
+
}
|
29 |
+
|
30 |
+
return $instance;
|
31 |
}
|
32 |
|
33 |
+
/**
|
34 |
+
* An empty constructor
|
35 |
+
*/
|
36 |
+
public function __construct() { /* Purposely do nothing here */ }
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Handles registering hooks that initialize this plugin.
|
40 |
+
*/
|
41 |
+
public static function _add_actions() {
|
42 |
+
add_action( 'load-edit.php', array( __CLASS__, 'load_edit_screen' ) );
|
43 |
+
add_action( 'wp_ajax_simple_page_ordering', array( __CLASS__, 'ajax_simple_page_ordering' ) );
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Load up page ordering scripts for the edit screen
|
48 |
+
*/
|
49 |
+
public static function load_edit_screen() {
|
50 |
$screen = get_current_screen();
|
51 |
$post_type = $screen->post_type;
|
52 |
|
53 |
// is post type sortable?
|
54 |
$sortable = ( post_type_supports( $post_type, 'page-attributes' ) || is_post_type_hierarchical( $post_type ) ); // check permission
|
55 |
+
if ( ! $sortable = apply_filters( 'simple_page_ordering_is_sortable', $sortable, $post_type ) ) {
|
56 |
return;
|
57 |
+
}
|
58 |
|
59 |
// does user have the right to manage these post objects?
|
60 |
+
if ( ! self::check_edit_others_caps( $post_type ) ) {
|
61 |
return;
|
62 |
+
}
|
63 |
|
64 |
+
add_filter( 'views_' . $screen->id, array( __CLASS__, 'sort_by_order_link' ) ); // add view by menu order to views
|
65 |
+
add_action( 'wp', array( __CLASS__, 'wp' ) );
|
66 |
+
add_action( 'admin_head', array( __CLASS__, 'admin_head' ) );
|
67 |
}
|
68 |
|
69 |
+
/**
|
70 |
+
* when we load up our posts query, if we're actually sorting by menu order, initialize sorting scripts
|
71 |
+
*/
|
72 |
+
public static function wp() {
|
73 |
+
if ( 0 === strpos( get_query_var('orderby'), 'menu_order' ) ) {
|
74 |
$script_name = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? 'simple-page-ordering.dev.js' : 'simple-page-ordering.js';
|
75 |
wp_enqueue_script( 'simple-page-ordering', plugins_url( $script_name, __FILE__ ), array('jquery-ui-sortable'), '2.1', true );
|
76 |
wp_enqueue_style( 'simple-page-ordering', plugins_url( 'simple-page-ordering.css', __FILE__ ) );
|
77 |
}
|
78 |
}
|
79 |
|
80 |
+
/**
|
81 |
+
* Add page ordering help to the help tab
|
82 |
+
*/
|
83 |
+
public static function admin_head() {
|
84 |
$screen = get_current_screen();
|
85 |
$screen->add_help_tab(array(
|
86 |
'id' => 'simple_page_ordering_help_tab',
|
89 |
));
|
90 |
}
|
91 |
|
92 |
+
public static function ajax_simple_page_ordering() {
|
93 |
// check and make sure we have what we need
|
94 |
+
if ( empty( $_POST['id'] ) || ( !isset( $_POST['previd'] ) && !isset( $_POST['nextid'] ) ) ) {
|
95 |
die(-1);
|
96 |
+
}
|
97 |
|
98 |
// real post?
|
99 |
+
if ( ! $post = get_post( $_POST['id'] ) ) {
|
100 |
die(-1);
|
101 |
+
}
|
102 |
|
103 |
// does user have the right to manage these post objects?
|
104 |
+
if ( ! self::check_edit_others_caps( $post->post_type ) ) {
|
105 |
die(-1);
|
106 |
+
}
|
107 |
|
108 |
// badly written plug-in hooks for save post can break things
|
109 |
+
if ( ! defined( 'WP_DEBUG' ) || ! WP_DEBUG ) {
|
110 |
error_reporting( 0 );
|
111 |
+
}
|
112 |
|
113 |
$previd = empty( $_POST['previd'] ) ? false : (int) $_POST['previd'];
|
114 |
$nextid = empty( $_POST['nextid'] ) ? false : (int) $_POST['nextid'];
|
132 |
}
|
133 |
}
|
134 |
// if the next post's parent isn't our parent, it might as well be false (irrelevant to our query)
|
135 |
+
if ( $next_post_parent !== $parent_id ) {
|
136 |
$nextid = false;
|
137 |
+
}
|
138 |
|
139 |
$max_sortable_posts = (int) apply_filters( 'simple_page_ordering_limit', 50 ); // should reliably be able to do about 50 at a time
|
140 |
+
if ( $max_sortable_posts < 5 ) { // don't be ridiculous!
|
141 |
$max_sortable_posts = 50;
|
142 |
+
}
|
143 |
|
144 |
// we need to handle all post stati, except trash (in case of custom stati)
|
145 |
$post_stati = get_post_stati(array(
|
167 |
foreach( $siblings->posts as $sibling ) :
|
168 |
|
169 |
// don't handle the actual post
|
170 |
+
if ( $sibling->ID === $post->ID ) {
|
171 |
continue;
|
172 |
+
}
|
173 |
|
174 |
// if this is the post that comes after our repositioned post, set our repositioned post position and increment menu order
|
175 |
if ( $nextid === $sibling->ID ) {
|
255 |
die( json_encode( $return_data ) );
|
256 |
}
|
257 |
|
258 |
+
/**
|
259 |
+
* Append a sort by order link to the post actions
|
260 |
+
*
|
261 |
+
* @param string $views
|
262 |
+
* @return string
|
263 |
+
*/
|
264 |
+
public static function sort_by_order_link( $views ) {
|
265 |
$class = ( get_query_var('orderby') == 'menu_order title' ) ? 'current' : '';
|
266 |
$query_string = remove_query_arg(array( 'orderby', 'order' ));
|
267 |
$query_string = add_query_arg( 'orderby', urlencode('menu_order title'), $query_string );
|
272 |
/**
|
273 |
* Checks to see if the current user has the capability to "edit others" for a post type
|
274 |
*
|
275 |
+
* @param string $post_type Post type name
|
276 |
+
* @return bool True or false
|
277 |
*/
|
278 |
+
private static function check_edit_others_caps( $post_type ) {
|
279 |
$post_type_object = get_post_type_object( $post_type );
|
280 |
$edit_others_cap = empty( $post_type_object ) ? 'edit_others_' . $post_type . 's' : $post_type_object->cap->edit_others_posts;
|
281 |
return apply_filters( 'simple_page_ordering_edit_rights', current_user_can( $edit_others_cap ), $post_type );
|
282 |
}
|
283 |
}
|
284 |
|
285 |
+
Simple_Page_Ordering::get_instance();
|
286 |
+
|
287 |
+
endif;
|