A função que você está usando, wp_link_pages
Codex , não possui o recurso que você está procurando por padrão.
No entanto, você pode estendê-lo facilmente usando uma função de retorno de chamada, registrada como um filtro nos argumentos dessa função:
add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add');
O filtro modificará os parâmetros usados nessa função imediatamente e injetará os links ausentes nos argumentos prev
e next
que são exibidos no lado esquerdo e direito da lista de links numerados ( 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;
}
Uso:
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 )
);
Se o seu tema sempre usar os links anterior e seguinte, você poderá alterar um pouco a função para torná-la o comportamento padrão sempre que number
(o padrão) for usado, portanto, você deve escrever menos nos seus temas.
Esta é uma implementação ligeiramente diferente, conforme sugerido pelo Velvet Blues .
A
wp_link_pages()
função mostra apenas quer texto ou número, nunca os dois. Se você der uma olhada no código da função, verá que não há opção para fazê-la se comportar de maneira diferente passando parâmetros.Dito isto, existem três maneiras de fazer isso sem um plug-in:
wp_link_pages()
. Corte muito ineficiente.Eu escrevi um artigo sobre como fazer isso no meu blog. Basicamente, eu uso o filtro wp_link_pages_args e adiciono uma função no arquivo functions.php que adiciona uma nova opção 'next_and_number'.
Hack do WordPress: Número de Exibição e Links Avançar / Anterior com wp_link_pages ()
fonte
Experimente isso, você pode personalizá-lo mais. Mas deve fazer como você queria :-)
fonte
Não entendi qual é o problema ... Você tem algum erro?
Isso deve funcionar:
Você não precisa adicionar next_or_number, pois o número já é o padrão.
fonte
next_or_number
anext
. Mas mostra apenas os links 'Próximo' e 'Anterior', não os números!Esse código está no loop de postagens? A codificação é boa para mim. Aqui está o exemplo do Codex sobre como usar:
fonte
A resposta é diferente, mas foi inspirado no @ 荒野 无 灯 que decidiu excluir sua resposta. Imho é o melhor, como a solução mais fácil e flexível:
A solução depende
paginate_links()
. A única coisa a saber é quebase
será o URl desde o início, anexado por%_%
, que será substituído porformat
. Portanto, enquanto usarmosget_permalink().'%_%';
, sabemos que, de qualquer forma, permaneceremos no post atual. No interiorformat
, o#
é substituído pelo número da página:fonte