Estilize links de paginação em postagens do WordPress
O WordPress oferece um recurso relativamente pouco conhecido para dividir seus posts extremamente longos em diferentes páginas. No entanto, é um pouco difícil estilizar para que corresponda ao estilo geral do seu site, pois, por padrão, o WordPress não aplica classes CSS para direcionar seus elementos. Vamos aprender como filtrar a função que os gera e adicionar classes para estilizá-los.
Visão geral
As postagens podem ser paginadas digitando a <!--nextpage--> Quicktag ao escrever o conteúdo da postagem, para indicar que o conteúdo após a tag deve ser colocado em uma nova página. Os links são então gerados usando a função wp_link_pages, que cria a paginação do conteúdo do post.
Embora você deva considerar as implicações de SEO da paginação de conteúdo, e esse é um tópico inteiro por si só, você provavelmente tem um bom motivo para fazê-lo, como um artigo incrivelmente longo, provavelmente com muitas imagens e vídeos incorporados que levariam muito muito para carregar e consumiria muitos recursos em seu servidor.
Inicialização
Podemos chamar a wp_link_pagesfunção em nosso tema WordPress incluindo nossas classes CSS prontas para serem estilizadas assim:
<?php
wp_link_pages(
'before' => '<div class="nextpages">'. esc_html__( 'Next Pages:', 'startfunction' ),
'after' => '</div>',
'pagelink' => '<span class="pagelink">%</span>'
);
Filtrando
O que acontece se estivermos usando um tema filho? se for construído corretamente, get_template_partpodemos copiar o arquivo para o nosso tema filho e reinicializar a função com os valores apropriados.
Uma boa alternativa seria usar o filtro wp_link_pages_argspara substituir a inicialização da wp_link_pagesfunção. Podemos adicionar o seguinte código no arquivo functions.php do nosso tema filho:
<?php
function startfunction_link_pages( $r) {
$args = array(
'before' => '<div class="nextpages">'. esc_html__( 'Next Pages:', 'startfunction' ),
'after' => '</div>',
'pagelink' => '<span class="pagelink">%</span>'
);
return wp_parse_args( $args, $r );
}
add_filter( 'wp_link_pages_args','startfunction_link_pages' );
Essa também é uma boa alternativa se a função for inicializada dentro de um framework e quisermos substituir os valores para nosso próprio propósito.