Aggiungere un campo personalizzato alla pagina archivio?
Aggiungere campi all'archivio?
Sto usando il plugin Advanced Custom Fields (ma non è rilevante perché posso anche usare i campi nativi di WP) e voglio aggiungere un campo personalizzato alla pagina archivio dei post personalizzati.
Il problema è che non esiste una pagina archivio predefinita dove poter allegare il campo (anche se puoi aggiungerlo alle singole categorie poiché sono presenti nell'area di amministrazione).
Creare un template di pagina personalizzato = nessuna evidenziazione nel menu
Una soluzione sarebbe creare un template di pagina personalizzato per gli archivi. Ma in questo modo perdi la capacità di evidenziarlo nella navbar quando sei su un singolo post/categoria, perché questa nuova pagina non sarà riconosciuta come genitore del singolo.
Ho ragione nel dire che non c'è modo di aggiungere campi all'archivio mantenendo l'evidenziazione nel menu?
Utilizzando il plugin Advanced Custom Fields puoi assegnare pagine di opzioni al tuo custom post type in questo modo:
if( function_exists('acf_add_options_page') )
{
acf_add_options_page(array(
'page_title' => 'Opzioni YOUR_PAGE_TILE',
'menu_title' => 'Opzioni YOUR_MENU_TITLE',
'menu_slug' => 'options_YOUR_SLUG',
'capability' => 'edit_posts',
'parent_slug' => 'edit.php?post_type=YOUR_CUSTOM_POSTTYPE_SLUG',
'position' => false,
'icon_url' => 'dashicons-images-alt2',
'redirect' => false,
));
}
In questo modo ottieni una pagina di opzioni a cui puoi assegnare campi successivamente. Tieni presente che tutti i campi che assegni a quella pagina di opzioni non sono vincolati al tuo custom post type. Sono come campi di opzioni "normali" ma li avrai nella sezione del tuo custom post type nel menu del backend di WordPress. Penso sia necessario utilizzare la versione pro del plugin - oppure avere l'addon installato per costruire pagine di opzioni.

Grazie. Aggiunge l'opzione ma per qualche motivo non la visualizza nella pagina effettiva. Recuperi il valore come al solito con the_field()
?

Sto lavorando con template twig ma dovrebbe funzionare se lo fai così:
$options= get_fields('option');
e poi ottieni il valore con echo $options['YOUR_FIELDNAME']
;
