by The Website Factory on WordPress.org
Navigate between posts and pages without returning to the post list. Works with Classic Editor, Gutenberg, and all Custom Post Types.

Classic Editor navigation buttons with sorting dropdown below the post title
Admin Posts Navigation solves a common WordPress admin workflow problem: having to go back to the post list every time you want to edit the next or previous post.
Key Features:
How It Works:
In the Classic Editor, navigation buttons appear below the post title with a sorting dropdown that lets you choose between Date Published, Alphabetical, or Post ID ordering.
In Gutenberg, a “Post Navigation” panel appears in the Document Settings sidebar with Previous/Next buttons and a sorting dropdown for customizing the navigation order.
Sorting Options:
Each user’s sorting preference is remembered per post type, so you can have different sorting for posts vs. pages vs. custom post types.
Perfect For:
The plugin automatically detects all your custom post types and provides navigation for any content type you can edit.
Filters:
twf_admin_posts_navigation_excluded_types – Exclude specific post types from navigationtwf_admin_posts_navigation_orderby – Customize ordering for specific post types twf_admin_posts_navigation_order – Customize sort direction for specific post typestwf_admin_posts_navigation_query_args – Modify the query arguments for finding postsExample Usage:
`php
// Exclude a custom post type
add_filter(‘twf_admin_posts_navigation_excluded_types’, function($excluded) {
$excluded[] = ‘my_private_post_type’;
return $excluded;
});
// Custom ordering for events
add_filter(‘twf_admin_posts_navigation_orderby’, function($orderby, $post_type) {
if ($post_type === ‘event’) {
return ‘meta_value’;
}
return $orderby;
}, 10, 2);
// Navigate only through featured posts
add_filter(‘twf_admin_posts_navigation_query_args’, function($args, $current_post) {
if ($current_post->post_type === ‘post’) {
$args[‘meta_query’] = array(
array(
‘key’ => ‘featured_post’,
‘value’ => ‘1’,
‘compare’ => ‘=’
)
);
}
return $args;
}, 10, 2);
`