Collegamenti successivo e precedente per custom post type nello stesso termine di tassonomia

9 lug 2012, 08:46:55
Visualizzazioni: 15.4K
Voti: 3

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.

1
Commenti

Posso consigliare il seguente plugin, next-previous-post-link-plus-for-wordpress lo sto utilizzando con la versione 3.5.x senza alcun problema.

Nicolai Grossherr Nicolai Grossherr
2 lug 2013 16:53:36
Tutte le risposte alla domanda 4
0

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> 
18 ago 2014 10:40:50
0

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 );
10 ago 2014 18:52:55
1

Aggiungi questo codice al tuo file single-cpt.php.

<?php previous_post_link('%link', 'Precedente in CPT', TRUE) ?>
<?php next_post_link('%link', 'Successivo in CPT', TRUE) ?>

Dove cpt è il nome del tuo custom post type.

14 ott 2013 18:45:08
Commenti

previous_post e next_post sono deprecati dalla versione 2.0.0 rilasciata nel 2005

Pieter Goosen Pieter Goosen
10 ago 2014 18:39:58
3
-1

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 } ?>
1 mag 2014 11:24:24
Commenti

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

Mayeenul Islam Mayeenul Islam
1 mag 2014 12:12:18

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

Pieter Goosen Pieter Goosen
10 ago 2014 18:39:11

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.

Adriano Monecchi Adriano Monecchi
20 apr 2017 22:27:09