This is going to be kind of hackish, but it is possible using an alternate function.
Add this to your theme's functions.php file.
function wp_link_pages_titled($args = '') {
$defaults = array(
'before' => '<p>' . __('Pages:'),
'after' => '</p>',
'link_before' => '',
'link_after' => '',
'echo' => 1
);
$r = wp_parse_args( $args, $defaults );
extract( $r, EXTR_SKIP );
global $page, $numpages, $multipage, $more, $pagenow, $pages;
$output = '';
if ( $multipage ) {
$output .= $before;
for ( $i = 1; $i < ($numpages+1); $i = $i + 1 ) {
$part_content = $pages[$i-1];
$has_part_title = strpos( $part_content, '<!--pagetitle:' );
if( 0 === $has_part_title ) {
$end = strpos( $part_content, '-->' );
$title = trim( str_replace( '<!--pagetitle:', '', substr( $part_content, 0, $end ) ) );
}
$output .= ' ';
if ( ($i != $page) || ((!$more) && ($page==1)) ) {
$output .= _wp_link_page($i);
}
$title = isset( $title ) && ( strlen( $title ) > 0 ) ? $title : 'First';
$output .= $link_before . $title . $link_after;
if ( ($i != $page) || ((!$more) && ($page==1)) )
$output .= '</a>';
}
$output .= $after;
}
if ( $echo )
echo $output;
return $output;
}
Now update each call you have to wp_link_pages
to instead call on the new function wp_link_pages_titled
.
It's not perfect, and it is kind of hacky, but it will do what you asked, just be sure you use this format when writing them into your posts..
Content intro
<!--nextpage--><!--pagetitle: Title 1 -->
Next page content 1
<!--nextpage--><!--pagetitle: Title 2 -->
Next page content 2
<!--nextpage--><!--pagetitle: Title 3 is longer -->
Next page content 3
<!--nextpage--><!--pagetitle: Another Title -->
Next page content 4
You can also title the link to the first page, but it must appear before anything else, ie. right on the first line, eg..
<!--pagetitle: Title for very first link -->
Content intro
Code was written with a mind to just getting it work, there's room for improvement, i mainly wanted to illustrate it would be possible, it's up to you(or anyone else) to expand upon it.
Hope that helps get things rolling for you.. ;)