Używana funkcja, wp_link_pages
Codex , nie ma domyślnie szukanej funkcji.
Można go jednak łatwo rozszerzyć za pomocą funkcji zwrotnej, zarejestrowanej jako filtr argumentów funkcji:
add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add');
Filtr następnie zmodyfikuje parametry używane w tej funkcji w locie i wstrzykuje brakujące linki do argumentów prev
i, next
które są wyprowadzane po lewej i prawej stronie listy linków numerowanych ( next_or_number' => 'number'
):
/**
* Add prev and next links to a numbered page link list
*/
function wp_link_pages_args_prevnext_add($args)
{
global $page, $numpages, $more, $pagenow;
if (!$args['next_or_number'] == 'next_and_number')
return $args; # exit early
$args['next_or_number'] = 'number'; # keep numbering for the main part
if (!$more)
return $args; # exit early
if($page-1) # there is a previous page
$args['before'] .= _wp_link_page($page-1)
. $args['link_before']. $args['previouspagelink'] . $args['link_after'] . '</a>'
;
if ($page<$numpages) # there is a next page
$args['after'] = _wp_link_page($page+1)
. $args['link_before'] . ' ' . $args['nextpagelink'] . $args['link_after'] . '</a>'
. $args['after']
;
return $args;
}
Stosowanie:
wp_link_pages(array(
'before' => '<p>' . __('Pages:'),
'after' => '</p>',
'next_or_number' => 'next_and_number', # activate parameter overloading
'nextpagelink' => __('Next'),
'previouspagelink' => __('Previous'),
'pagelink' => '%',
'echo' => 1 )
);
Jeśli Twój motyw zawsze używa poprzednich i następnych łączy, możesz nieco zmienić funkcję, aby stała się domyślnym zachowaniem za każdym razem, gdy number
używana jest (domyślna), więc musisz mniej pisać w swoich motywach.
Jest to nieco inna implementacja, jak sugeruje Velvet Blues .