Tipo de postagem personalizada Próximo / Link anterior?

12

Eu tenho um tipo de postagem personalizado chamado portfólio. Eu preciso de um link anterior / seguinte SEM um plugin. Alguém tem uma solução?

Exemplo de postagem: http://themeforward.com/demo2/archives/portfolio/boat

<?php get_header(); ?>

<!-- Begin wrap -->
<div class="clear">
<div id="full_container">
<div id="content2">
<div id="content">

<!-- Grab posts -->
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>

<!-- Post title -->
<h1>
    <?php the_title(); ?>
</h1>

<!-- The post -->
<?php the_content(); ?>

<!-- Tags -->
<h3 class="tags">
    <?php the_tags('Tags ',' / ','<br />'); ?>
</h3>

<!-- End wrap -->
</div>

<!-- Next/Previous Posts -->
<div class="mp_archive2">
<div id="more_posts">
    <div class="oe">
        <?php previous_post_link('%link', '« Previous post', TRUE); ?>
    </div>

    <div class="re">
        <?php next_post_link('%link', 'Next post »', TRUE); ?>
    </div>
</div>
</div>

<?php endwhile; else: ?>
<p>No matching entries found.</p>
<?php endif; ?>
</div>
</div>
</div>
</div>
<?php get_footer(); ?>
AndrettiMilas
fonte
3
Por que a aversão a plugins?
Chrisguitarguy 19/10/11
Porque se é um plugin, não está embutido no tema.
AndrettiMilas
4
@ Lucas Wynne Se você quiser incorporá-lo, copie / cole algum código do plug-in no arquivo functions.php dos seus temas.
Kaiser #
2
O @kaiser assumindo, é claro, que você mantém as condições de licença e IP, o que não é tão fácil se você estiver produzindo um tema para venda.
Phill Healey

Respostas:

14

Se você precisar de links próximos / anteriores para postagens únicas, há a next_post_linkfunção previous_post_linkinterna e a correspondência , que provavelmente devem ser usadas dentro do loop.

Para arquivos, use next_posts_linke previous_posts_link.

Tudo isso funcionará bem com tipos de postagem personalizados.

chrisguitarguy
fonte
Eles não estão trabalhando no meu tema.
AndrettiMilas
3
OK. Bem, sem ver nenhum código, é difícil dizer o porquê. Existem erros ou avisos no PHP? Você tem várias postagens inseridas para as funções para buscar o link?
Chrisguitarguy 19/10/11
Eu atualizei minha pergunta acima.
AndrettiMilas
Experimente com o terceiro argumento TRUE e informe-nos.
Chrisguitarguy 19/10/11
Terceiro argumento verdadeiro?
AndrettiMilas
14
<?php
$prev_post = get_previous_post();
if($prev_post) {
   $prev_title = strip_tags(str_replace('"', '', $prev_post->post_title));
   echo "\t" . '<a rel="prev" href="' . get_permalink($prev_post->ID) . '" title="' . $prev_title. '" class=" ">&laquo; Previous post<br /><strong>&quot;'. $prev_title . '&quot;</strong></a>' . "\n";
}

$next_post = get_next_post();
if($next_post) {
   $next_title = strip_tags(str_replace('"', '', $next_post->post_title));
   echo "\t" . '<a rel="next" href="' . get_permalink($next_post->ID) . '" title="' . $next_title. '" class=" ">Next post &raquo;<br /><strong>&quot;'. $next_title . '&quot;</strong></a>' . "\n";
}
?>
user25225
fonte
3
Formate seus códigos / resposta e adicione explicações.
Maruti Mohanty
1
De qualquer forma, posso limitar isso à taxonomia em que está o CPT?
gil Hamer