Link-uri Următoare/Anterioare pentru Custom Post Type?
Am un custom post type numit portfolio. Am nevoie de link-uri anterioare/următoare FĂRĂ plugin. Are cineva o soluție?
Exemplu de postare: http://themeforward.com/demo2/archives/portfolio/boat
<?php get_header(); ?>
<!-- Început container -->
<div class="clear">
<div id="full_container">
<div id="content2">
<div id="content">
<!-- Preluare postări -->
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
<!-- Titlul postării -->
<h1>
<?php the_title(); ?>
</h1>
<!-- Postarea -->
<?php the_content(); ?>
<!-- Etichete -->
<h3 class="tags">
<?php the_tags('Etichete ',' / ','<br />'); ?>
</h3>
<!-- Sfârșit container -->
</div>
<!-- Postări Următoare/Anterioare -->
<div class="mp_archive2">
<div id="more_posts">
<div class="oe">
<?php previous_post_link('%link', '« Postarea anterioară', TRUE); ?>
</div>
<div class="re">
<?php next_post_link('%link', 'Postarea următoare »', TRUE); ?>
</div>
</div>
</div>
<?php endwhile; else: ?>
<p>Nu s-au găsit intrări care să se potrivească.</p>
<?php endif; ?>
</div>
</div>
</div>
</div>
<?php get_footer(); ?>

<?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=" ">« Postare anterioară<br /><strong>"'. $prev_title . '"</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=" ">Postare următoare »<br /><strong>"'. $next_title . '"</strong></a>' . "\n";
}
?>

Dacă aveți nevoie de link-uri pentru articolele următoare/precedente pentru postările individuale, există funcția încorporată next_post_link
și corespondentul ei previous_post_link
, ambele ar trebui folosite în cadrul buclei.
Pentru arhive, utilizați next_posts_link
și previous_posts_link
.
Toate acestea funcționează corect și cu tipurile personalizate de postări.

Bine. Fără să văd codul tău, este greu să spun de ce. Există erori sau avertismente PHP? Ai mai multe articole introduse pentru ca funcțiile să preia link-uri?

Folosește acest cod <?php next_post_link('%link', 'Next post »'); ?>
și <?php next_post_link('%link', 'Next post »'); ?>

Aceasta funcționează pe tipurile personalizate de postări, dar cum rămâne cu aceeași taxonomie a postării curente?

@jepser (Mă alătur târziu discuției) Ar trebui să specifici taxonomia de utilizat ca al 5-lea argument. Dacă treci doar primele 3 argumente și activezi al treilea pentru a rămâne în aceeași taxonomie, cel mai probabil va eșua deoarece taxonomia implicită este category
(pe care probabil nu o are CPT-ul tău). Consultă articolele din codex menționate în răspuns.

Puteți folosi get_adjacent_post
pentru a obține obiectul postului anterior sau următor în buclă.
Puteți schimba al treilea parametru în true sau false pentru a obține obiectul postului următor sau anterior. get_adjacent_post( false, '', true);
Cu aceste cunoștințe putem folosi get_the_permalink
pentru a obține URL-ul postărilor și pentru a vă crea propriile linkuri, fără a fi nevoie să eliminați orice elemente inutile pe care WordPress le adaugă în celelalte metode.
Această metodă este cea mai utilă dacă doriți să formatați singur hyperlink-urile și să aveți control total asupra formatării.
<?php
$next_post = get_adjacent_post( false, '', false);
$next_post_url = get_the_permalink($next_post);
$previous_post = get_adjacent_post( false, '', true);
$previous_post_url = get_the_permalink($previous_post);
?>
<a href="<?php echo $next_post_url;?>">Postare următoare</a>
<a href="<?php echo $previous_post_url;?>">Postare anterioară</a>

În plus, dacă dorești să ai o buclă continuă de articole, poți folosi acest link: https://wplancer.com/infinite-next-and-previous-post-looping-in-wordpress/
