Linkuri următor și anterior în post type personalizat din același termen de taxonomie
Am un post type personalizat name->('portfolio')
, cu o taxonomie numită 'portfolio_category'
.
Ceea ce doresc este să adaug linkuri următor și anterior în fișierul single-portfolio.php. Când dau click pe oricare dintre linkuri, ar trebui să redirecționeze la următoarea sau anterioara postare din același post type și din același termen de taxonomie.
Am încercat să folosesc next_post_link()
și previous_post_link()
dar se pare că funcționează doar pentru postări obișnuite, nu și pentru post type-uri personalizate..
Orice sugestii sunt binevenite.

previous_post_link() și next_post_link() funcționează perfect cu tipurile personalizate de postări. Trebuie să lipiți acest cod în fișierul single-customposttype.php (care în cazul dumneavoastră este single-portfolio.php):
<div class="previous-post-link">
<?php previous_post_link('%link', '<< Postarea Anterioară', $in_same_term = true, $excluded_terms = '', $taxonomy = 'the-custom-taxonomy-associated-with-your-custom-post-type'); ?>
</div>
<div class="next-post-link">
<?php next_post_link('%link', 'Postarea Următoare >>', $in_same_term = true, $excluded_terms = '', $taxonomy = 'the-custom-taxonomy-associated-with-your-custom-post-type'); ?>
</div>

Parametrul $taxonomy
pentru ambele funcții next_post_link
și previous_post_link
a fost introdus în WordPress începând cu versiunea 3.8.
Când parametrul $in_same_term
este setat la true, trebuie să specificați parametrul $taxonomy
cu taxonomia dorită. Implicit, acesta este setat la category
. Rețineți că post_format
este de asemenea o taxonomie.
Exemplu:
next_post_link( '%link', 'Postul următor în categorie', TRUE, ' ', 'post_format' );
Notă importantă: nu utilizați funcțiile next_post
și previous_post
. Acestea au fost depreciate începând cu WordPress versiunea 2.0.0. Consultați wp-includes/deprecated.php#L121 și wp-includes/deprecated.php#L158.
ACTUALIZARE
Legăturile între postări individuale vor naviga automat între postări de același tip de conținut (post type) ca și postarea curentă, deoarece tipul postării curente este utilizat pentru a prelua postările adiacente. Verificați codul sursă al funcției get_adjacent_post()
, care este utilizată de funcțiile next și previous post links. Acordați atenție specială liniei 1550 (în versiunea curentă 4.1):
1550 $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $where", $current_post_date, $post->post_type ), $in_same_term, $excluded_terms );

Încearcă asta cu thumbnail:
<?php $prevPost = get_previous_post(); if($prevPost) { ?>
<li class="previous">
<?php $prevthumbnail = get_the_post_thumbnail($prevPost->ID, array(80,80) ); ?>
<?php previous_post_link('%link', $prevthumbnail . '<strong>Anterior</strong> <span>%title</span>', TRUE); ?>
</li>
<?php } $nextPost = get_next_post(); if($nextPost) { ?>
<li class="next">
<?php $nextthumbnail = get_the_post_thumbnail($nextPost->ID, array(80,80) ); ?>
<?php next_post_link('%link', $nextthumbnail . '<strong>Următor</strong> <span>%title</span>', TRUE); ?>
</li>
<?php } ?>

Răspunsul doar cu cod este cel mai slab. Încearcă să adaugi niște indicații sau descriere editându-l. :)

Cred că ai ratat întrebarea aici. OP nu a cerut linkuri cu thumbnail-uri. De asemenea, răspunsurile doar cu cod nu sunt considerate răspunsuri bune.

Mulțumesc, m-ai ajutat foarte mult. Cu câteva ajustări CSS am obținut o navigare destul de frumoasă. Am setat navigarea previous/next să aibă o poziție fixă, în timp ce am setat poziția absolută pentru fiecare astfel încât să poată fi afișate pe partea stângă/dreaptă a ecranului.
