Simple Page Ordering if you'd like to display by menu_order in the admin and to add Drag/Drop support. Plugin URI: http://julienmelissas.com/add-drag-drop-support-to-posts Author: Julien Melissas Author URI: http://julienmelissas.com Version: 1.0 */ // This function grabs the post types array and applies a filter for developer modification function spbmo_get_spbmo_post_types() { $post_types = apply_filters('spbmo_post_types', array('post')); return $post_types; } // This function modifies the query for each post type in our option function get_posts_by_menu_order( $query ) { $post_types = spbmo_get_spbmo_post_types(); // Check to make sure we're not in the admin panel or feed if(!is_admin() && !is_feed() ) { foreach ($post_types as $post_type) { // Make sure we're in the main query if (is_main_query($post_type)) { $query->set( 'orderby', 'menu_order' ); $query->set( 'order', 'ASC' ); } } } } // Now force the post type to display based on menu_order add_action( 'pre_get_posts', 'get_posts_by_menu_order' ); // This function adds page-attribute support for each post type in our option function spbmo_alter_post_types() { $post_types = spbmo_get_spbmo_post_types(); foreach ($post_types as $post_type) { // First set up the post type so that they can be sorted by menu_order... add_post_type_support( $post_type, 'page-attributes' ); } } add_action('wp_loaded', 'spbmo_alter_post_types'); // This is an example of how to add other post types function spbmo_post_types_alter_value($option_value) { $option_value = array( 'post', 'story' ); return $option_value; } add_filter('spbmo_post_types', 'spbmo_post_types_alter_value');