This should do it:
functions.php
function previous_post_link_sorted($section_name, $current_post, $format, $link) {
query_posts(array(
'section_name' => $section_name,
'posts_per_page' => -1
));
if (have_posts()) {
$last_post = null;
while (have_posts()) {
the_post();
if (get_the_ID() == $current_post) {
if ($i < ($wp_query->post_count - 1)) {
$href = '<a href="' . get_permalink($last_post) . '">' . $link . '</a>';
echo str_replace('%link', $href, $format) . "\n";
}
}
$last_post = get_the_ID();
}
}
wp_reset_query();
}
function next_post_link_sorted($section_name, $current_post, $format, $link) {
query_posts(array(
'section_name' => $section_name,
'posts_per_page' => -1
));
if (have_posts()) {
$use_next_post = false;
while (have_posts()) {
the_post();
if ($use_next_post) {
if ($i < ($wp_query->post_count - 1)) {
$href = '<a href="' . get_permalink(get_the_ID()) . '">' . $link . '</a>';
echo str_replace('%link', $href, $format) . "\n";
break;
}
} else if (get_the_ID() == $current_post) {
$use_next_post = true;
}
}
}
wp_reset_query();
}
Usage:
<span class="nav-prev">
<?php previous_post_link_sorted('work_posts', get_the_ID(), '< %link', 'PREVIOUS'); ?>
</span>
<span class="nav-next">
<?php next_post_link_sorted('work_posts', get_the_ID(), '%link>', 'NEXT'); ?>
</span>