使用している関数wp_link_pages
Codexには、デフォルトでは探している機能がありません。
ただし、その関数の引数のフィルターとして登録されたコールバック関数を使用して、簡単に拡張できます。
add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add');
フィルタは、その関数で使用されるパラメータをオンザフライで変更し、番号付きリンクリスト()の左側と右側に出力されるprev
and next
引数に欠落しているリンクを挿入します。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;
}
使用法:
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 )
);
テーマが常に前のリンクと次のリンクを使用する場合、関数を少し変更してnumber
(デフォルト)が使用されるたびにデフォルトの動作になるようにすることができるため、テーマの記述を少なくする必要があります。
これは、Velvet Bluesによって提案されたわずかに異なる実装です。