Collegamenti successivo e precedente per custom post type nello stesso termine di tassonomia
Ho un custom post type name->('portfolio')
, con una tassonomia chiamata 'portfolio_category'
.
Quello che voglio fare è aggiungere i link successivo e precedente nella sua pagina singola che è single-portfolio.php. Quando clicco su uno dei link, dovrebbe reindirizzare al post successivo o precedente dello stesso post type e nello stesso termine di tassonomia.
Ho usato next_post_link()
e previous_post_link()
ma sembra che funzionino solo nei post singoli standard e non nei custom post type..
Qualsiasi suggerimento sarà molto apprezzato.

previous_post_link() e next_post_link() funzionano perfettamente con i tipi di post personalizzati. Devi incollare questo codice nel tuo single-customposttype.php (che nel tuo caso è single-portfolio.php):
<div class="previous-post-link">
<?php previous_post_link('%link', '<< Post Precedente', $in_same_term = true, $excluded_terms = '', $taxonomy = 'la-tassonomia-personalizzata-associata-al-tuo-tipo-di-post-personalizzato'); ?>
</div>
<div class="next-post-link">
<?php next_post_link('%link', 'Post Successivo >>', $in_same_term = true, $excluded_terms = '', $taxonomy = 'la-tassonomia-personalizzata-associata-al-tuo-tipo-di-post-personalizzato'); ?>
</div>

Il parametro $taxonomy
per entrambe le funzioni next_post_link
e previous_post_link
è stato introdotto nella versione 3.8 di WordPress.
Quando il parametro $in_same_term
è impostato su true, è necessario specificare il parametro $taxonomy
con la tassonomia desiderata. Di default, questo è impostato su category
. Ricorda che anche post_format
è una tassonomia.
Esempio:
next_post_link( '%link', 'Prossimo post nella categoria', TRUE, ' ', 'post_format' );
Nota importante: non utilizzare le funzioni next_post
e previous_post
, in quanto sono deprecate a partire dalla versione 2.0.0 di WordPress. Vedi wp-includes/deprecated.php#L121 e wp-includes/deprecated.php#L158.
MODIFICA
I link dei singoli post navigheranno automaticamente tra post dello stesso tipo di post, poiché viene utilizzato il tipo di post corrente per recuperare i post adiacenti. Controlla il codice sorgente, in particolare la funzione get_adjacent_post()
che viene utilizzata dai link di post successivo e precedente. Presta particolare attenzione alla riga 1550 (attualmente per la versione 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 );

Prova questo con la miniatura:
<?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>Precedente</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>Successivo</strong> <span>%title</span>', TRUE); ?>
</li>
<?php } ?>

Una risposta solo con codice è la peggiore. Prova ad aggiungere qualche indicazione o descrizione modificandola. :)

Penso che tu abbia frainteso la domanda qui. L'OP non ha chiesto link con miniature. Inoltre, risposte contenenti solo codice non sono considerate buone risposte

Grazie, mi hai aiutato molto. Con qualche aggiustamento CSS ho ottenuto una navigazione piuttosto carina. Ho impostato la navigazione precedente/successiva con una posizione fissa, mentre ho impostato una posizione assoluta per ciascuna in modo che possano essere visualizzate sui lati sinistro/destro dello schermo.
