Breadcrumb per Custom Post Types in WordPress?
Ho provato sia i breadcrumb di Yoast che Breadcrumbs NavXT ma non riesco a farli funzionare con i custom post types. Qualcuno è riuscito a risolvere questo problema?
Un singolo post 'News' sul mio sito mostra: Home -> Blog -> Il mio post News
Invece di mostrare correttamente: Home -> News -> Il mio post News

Breadcrumb NavXT offre il supporto per i Custom Post Type a partire dalla versione 3.6.0. Potresti riscontrare alcuni problemi con le opzioni. Prova a resettarle o consulta la versione in sviluppo. Ricorda di fare prima un backup delle tue impostazioni utilizzando la funzionalità di esportazione/importazione delle impostazioni.

Come ha detto hakre, Breadcrumb NavXT supporta ufficialmente i custom post type a partire dalla versione 3.6.0. Ho testato sia con custom post type gerarchici che piatti (e con tassonomie personalizzate con custom post type piatti).
C'è un cambiamento nel comportamento di Breadcrumb NavXT nella versione 3.7.0 (la prossima release) che ti permette di impostare la root per i custom post type. Nella versione 3.6.0 si assumeva che tutti i post type piatti risiedessero sotto la pagina dei post (la vedi come "blog" nel breadcrumb), mentre tutti i post type gerarchici risiedessero sotto la pagina iniziale (front page, o "Home" nel tuo breadcrumb). Questa funzionalità è già parzialmente implementata nella versione SVN trunk (al momento gli archive basati su tassonomia non supportano questa feature).
A meno che "News" non sia il nome di un termine di qualche tassonomia di "My News Post", o il post genitore di "My News Post", al momento non verrà visualizzato. Come menzionato nel paragrafo precedente, con la versione in sviluppo puoi avere "News" come pagina (del built-in WordPress "page" post type) e verrà mostrata nel breadcrumb.

Attualmente, però, sembra che l'uso dei custom post type in Breadcrumb NavXT richieda la creazione di una pagina dedicata come base per l'archivio del post type.
Un'altra alternativa è Breadcrumb Trail (http://wordpress.org/extend/plugins/breadcrumb-trail/). Sembra supportare i custom post type... ma solo per WP 3.1!! (Almeno questo è quello che deduco dal codice, visto che utilizza funzioni disponibili solo da WP 3.1 in poi).
Quindi ho modificato un po' il codice. Ma a causa delle mie esigenze in quel momento, l'ho integrato con un paio di plugin... Significa che è necessario avere quei plugin con impostazioni specifiche.
Puoi scaricare la versione modificata del plugin Breadcrumb Trail da questo link: http://www.zumodrive.com/share/8addOGQ3OW.
Poi dovrai scaricare e utilizzare anche il plugin Custom Post Permalinks (http://wordpress.org/extend/plugins/custom-post-permalinks/).
Puoi trovare la spiegazione delle modifiche e le istruzioni per configurarlo nella cartella del plugin modificato (chiamata *modification_log.rtf*).
In sostanza, quello che devi fare dopo aver attivato entrambi i plugin è impostare prima le 'Permalink Settings' come segue:
- 'Common settings' su 'Month and name'
- 'Extra Permalink Settings' su '/%post_type%/%your_custom_taxonomy%/%news_post%/'
Questo configurerà i permalink in questo modo:
www.yoursite.com/your_custom_post_type/your_custom_taxonomy_term/the_post
Poi inserisci il codice qui sotto dove vuoi che appaiano i breadcrumb:
<?php
// Plugin: Breadcrumb Trail (Modified) //
if(function_exists('breadcrumb_trail')) {
$breadcrumb = array(
'separator' => '>',
'before' => 'You are here: ',
'after' => false,
'front_page' => true,
'show_home' => __('Home'),
'singular_{your_custom_post_type}_taxonomy' => 'your_custom_taxonomy',
'echo' => true,
);
breadcrumb_trail($breadcrumb);
}
?>
Questo permetterà di avere breadcrumb come questi:
You are here: Home > Your Custom Post Type > Your Custom Taxonomy Term > The Post
Ovviamente, puoi adattarlo alle tue esigenze, ma questa è la soluzione che ho trovato per il progetto su cui stavo lavorando.
Potrei aver dimenticato qualche impostazione necessaria per far funzionare tutto correttamente... quindi fammi sapere se non funziona.
In ogni caso, volevo solo condividere un'altra soluzione... Spero che possa tornare utile a qualcuno.
A proposito, il plugin modificato si integra anche con il plugin qTranslate per supportare il multilinguaggio...
Saluti!
