Tipo di post personalizzato Link successivo / precedente?


12

Ho un tipo di post personalizzato chiamato portfolio. Ho bisogno di un link precedente / successivo SENZA un plugin. Qualcuno ha una soluzione?

Esempio di post: 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(); ?>

3
Perché l'avversione per i plugin?
chrisguitarguy,

Perché se è un plugin, non è integrato nel tema.
AndrettiMilas,

4
@Lucas Wynne Se lo vuoi integrato, copia / incolla un po 'di codice plugin nel tuo file Functions.php temi.
Kaiser

2
@kaiser ovviamente supponendo che tu mantenga le condizioni di licenza e IP, il che non è così semplice se stai producendo un tema in vendita.
Phill Healey,

Risposte:


14

Se hai bisogno di collegamenti successivi / precedenti per singoli post, c'è la next_post_linkfunzione integrata e la corrispondenza previous_post_link, entrambi i quali dovrebbero probabilmente essere utilizzati all'interno del ciclo.

Per gli archivi, utilizzare next_posts_linke previous_posts_link.

Tutti questi funzioneranno bene con tipi di post personalizzati.


Non stanno lavorando nel mio tema.
AndrettiMilas,

3
Va bene. Bene, senza vedere nessuno del tuo codice, è difficile dire perché. Ci sono errori o avvisi PHP? Hai più post inseriti per le funzioni per cui recuperare il link?
chrisguitarguy,

Ho aggiornato la mia domanda sopra.
AndrettiMilas,

Provalo con il terzo vero argomento e facci sapere.
chrisguitarguy,

Terzo vero argomento?
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";
}
?>

3
Si prega di formattare i codici / risposta e aggiungere spiegazioni ad esso.
Maruti Mohanty,

1
In ogni caso posso limitarlo alla tassonomia in cui si trova il CPT?
Gil Hamer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.