Benutzerdefinierter Beitragstyp Nächster / Vorheriger Link?


12

Ich habe einen benutzerdefinierten Beitragstyp namens Portfolio. Ich brauche einen vorherigen / nächsten Link OHNE Plugin. Hat jemand eine Lösung?

Beispielbeitrag: 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
Warum die Abneigung gegen Plugins?
— Chrisguitarguy

Denn wenn es sich um ein Plugin handelt, ist es nicht in das Thema integriert.
— AndrettiMilas

4
@Lucas Wynne Wenn Sie möchten, dass es integriert ist, kopieren Sie Plugin-Code in die Datei functions.php Ihres Themas.
— Kaiser

2
@kaiser unter der Annahme, dass Sie die Lizenz- und IP-Bedingungen einhalten, was nicht so einfach ist, wenn Sie ein Thema zum Verkauf anbieten.
— Phill Healey

Antworten:


14

Wenn Sie nächste / vorherige Links für einzelne Beiträge benötigen, gibt es die integrierte next_post_linkFunktion und den Abgleich previous_post_link, die wahrscheinlich beide innerhalb der Schleife verwendet werden sollten.

Verwenden Sie für Archive next_posts_linkund previous_posts_link.

All dies funktioniert gut mit benutzerdefinierten Beitragstypen.


Sie arbeiten nicht in meinem Thema.
— AndrettiMilas

3
Okay. Nun, ohne Ihren Code zu sehen, ist es schwer zu sagen, warum. Gibt es PHP-Fehler oder Warnungen? Haben Sie mehrere Beiträge für die Funktionen eingefügt, für die Links abgerufen werden sollen?
— Chrisguitarguy

Ich habe meine Frage oben aktualisiert.
— AndrettiMilas

Versuchen Sie es mit dem dritten TRUE-Argument und lassen Sie es uns wissen.
— Chrisguitarguy

Drittes wahres Argument?
— AndrettiMilas

13
<?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
Bitte formatieren Sie Ihre Codes / Antworten und fügen Sie eine Erklärung hinzu.
— Maruti Mohanty

1
Wie auch immer, ich kann das auf die Taxonomie beschränken, in der sich das CPT befindet?
— Gil Hamer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.