Links para a próxima e anterior entrada dentro da mesma categoria - Holiday Service
By Jose Augusto Posted on 28/06/2019 In Assuntos Nenhum comentário
Quando você está visualizando uma entrada em um site criado com o WordPress, Os tópicos geralmente incluem links para navegar até as entradas anteriores e posteriores, o que é uma ótima maneira de manter seus leitores visitando seu conteúdo.
Porém, esses links servem apenas, por padrão, o critério cronológicoentão link para as entradas anteriores e seguintes por data de publicação, não leva em consideração nenhum outro critério de coerência de conteúdo.
Dito isto, O que faria sentido para esses links serem restritos às entradas anteriores e seguintes na mesma categoria?
Dessa forma, o leitor sempre teria algo para ler relacionado ao conteúdo que ele escolheu inicialmente.
Se isso é um problema para você, ou você só quer melhorar a relação semântica entre os conteúdos que você liga, A solução é modificar as funções geradas por esses links de navegação, que serão:
Ou use previous_post_link e next_post_link
Ou use get_the_post_navigation
Ou você também pode usar get_adyacent_post
Dependendo do seu tema, um dos métodos anteriores será usado para os links, mas com qualquer um deles você pode aplicar o atributo in_same_termPara que o link para as entradas anteriores e posteriores está restrito à taxonomia da entrada atual.
Altere-o se o tema usar previous_post_link e next_post_link
Desta forma, se você quiser aplicá-lo a funções previous_post_link o next_post_link Isso seria feito assim:
Neste exemplo, o link para a entrada anterior (% link) terá o título da entrada (% title), e estará na mesma taxonomia (TRUE).
A estrutura de os argumentos que você pode usar seria isso:
No caso da função next_post_link isso é feito exatamente da mesma maneira. Os argumentos seriam os mesmos, estes:
Se o tema usa get_the_post_navigation
Neste caso, devemos substituir a função do tema atual para algo assim:
function get_the_post_navigation ($ args = array ())
Como fazer isso com get_adyacent_post
Se o seu tema usa a função get_adyacent_post, você teria que modificar a função incluída no seu tema para algo semelhante ao seguinte código:
<a href = "<?php echo get_permalink( $prev_post->ID); ?> "><?php echo get_the_title( $prev_post->ID); ?>
<a href = "<?php echo get_permalink( $next_post->ID); ?> "><?php echo get_the_title( $next_post->ID); ?>
O padrão que é usado para incluir os atributos é:
Seja qual for o método usado pelo seu assunto, você tem a documentação completa sobre cada função nos links que eu coloquei na primeira vez que os citei no artigo.
Não pode ser feito de forma diferente?
Isso é uma festa! E no WordPress sempre há várias maneiras de fazer tudo, é a glória de ter todo o código aberto e livre.
Outra maneira é substitua a função que gera os links para as entradas anteriores e seguintes em seu tema com um novo.
Para fazer isso, copie o modelo single.php do seu tema para o tema filho e adicione o seguinte:
$post_id = $post->ID; // ID da entrada atual
$ cat = get_the_category ();
$ current_cat_id = $ cat[0]-> cat_ID; // ID da categoria atual
'category' => $ current_cat_id,
// obtém os IDs das entradas recuperadas com get_posts
$ ids = array ();
foreach ($ posts como $ thepost)
$ ids[] = $ thepost-> ID;
// recebemos e mostramos a próxima e anterior entrada na mesma categoria
$ thisindex = array_search ($ post_id, $ ids);
$ previd = isset ($ ids[ $thisindex - 1 ] ) $ ids[ $thisindex - 1 ] : 0;
$ nextid = isset ($ ids[ $thisindex + 1 ] ) $ ids[ $thisindex + 1 ] : 0;
if ($ previd)
?> <a rel = "prev" href = ""> Anterior<a rel = "next" href = ""> Próximo<? php
Então, se você quiser, você pode adicionar alguns CSS à folha de estilo do tema filho, mais do que tudo, para criar os links mais elegantes:
a.previous-post, a.next-post
cor de fundo: # 4498e7;
altura: 34px;
preenchimento: 0 20px;
a.previous-post: hover, a.próximo-post: hover
cor: # 4498e7;
a.previous-post
flutuar: esquerda! importante;
a.next-post
flutuar: certo! importante;
E não há plugins para isso?
Bem, sim, existem alguns.
Tanto quanto eu sei, estes são dois plug-ins que permitem alterar o comportamento padrão dos links para as entradas anterior e seguinte, de modo que estejam na mesma categoria:
Ambrosite Próximo / Anterior Post Link Plus
Você verá que eles não foram atualizados por algum tempo, mas eles devem funcionar igualmente.
A entrada Links para a próxima e anterior entrada dentro da mesma categoria foi publicada pela primeira vez por Fernando Tellado na Ajuda do WordPress. Não copie conteúdo, não diga nada de bom sobre você para seus leitores.