Come modificare il contenuto di una pagina archivio all'interno della dashboard di WordPress?
In pratica, ho una pagina che è un archivio personalizzato che mostra un elenco di post. L'unico problema è che il cliente vuole poter modificare il contenuto effettivo della pagina archivio stessa (immagine e titolo), non solo il contenuto dei post. Tutto questo deve poter essere fatto all'interno della dashboard in modo che sia facile per il cliente. Esiste un modo per far sì che il template personalizzato della pagina archivio compaia nella scheda "Pagine"? O è modificabile in qualche modo dalla dashboard? Grazie!
Renderlo una tassonomia e consentire al cliente di modificare il titolo e la descrizione del termine sarebbe un'opzione che prenderei in considerazione.
Il tema potrebbe o meno utilizzare un template-file personalizzato per controllare il front-end dell'archivio CPT.
Usare un page-template sarebbe sconsigliato perché caricando il post-type e la pagina allo stesso URL, potrebbero sorgere problemi.
Utilizzare le opzioni del tema sarebbe un buon modo. Avere un'opzione del tema in combinazione con un archive-template personalizzato per l'archivio del post-type potrebbe funzionare.
Per come creare le opzioni del tema, vedi questo esempio: https://codex.wordpress.org/Creating_Options_Pages#Example_.232
E per i template di pagina personalizzati, questa guida ti copre: https://developer.wordpress.org/themes/basics/template-hierarchy/#visual-overview

A seconda della configurazione, ci sono diversi modi per gestire questo aspetto. Suppongo che lo scenario più probabile sia che stai utilizzando un tema di terze parti, il che significa che non puoi modificare direttamente i file del tema (e in effetti non dovresti farlo, poiché gli aggiornamenti cancellerebbero le tue modifiche). Questo limita un po' le tue opzioni, e la soluzione più semplice sarebbe, come suggerito da altre risposte, semplicemente popolare il contenuto della categoria sotto il menu 'Articoli' nella dashboard. Ci sono plugin che ti permettono di aggiungere ulteriore contenuto, come un'immagine in evidenza: Category Featured Image
Potresti anche creare il tuo plugin per avere un controllo maggiore su ciò che aggiungi alle categorie. Ecco un segmento di codice che ho utilizzato per aggiungere un selettore di colore e un'opzione checkbox a una tassonomia personalizzata. Ovviamente, puoi applicarlo anche a una tassonomia esistente.
function yourplugin_taxonomy_custom_fields( $tag ) {
$t_id = $tag->term_id;
$term_meta = get_option( 'taxonomy_term_'.$t_id );
$level_public = $term_meta['level_public'];
if ( $level_public == 'true' ) {
$checked = ' checked="checked"';
} else {
$checked = '';
}
?>
<tr class="form-field">
<th scope="row" valign="top">
<label for="level_colour"><?php _e('Colore del Livello Giocatore'); ?></label>
</th>
<td>
<input type="text" name="term_meta[level_colour]" id="term_meta[level_colour]" class="ifs-pp-colour-picker" value="<?php echo $term_meta['level_colour'] ? $term_meta['level_colour'] : ''; ?>">
<p class="description"><?php _e('Seleziona il colore dell\'etichetta per questo Livello Giocatore.'); ?></p>
<script type="text/javascript">
jQuery( document ).ready( function( $ ) {
$( '.ifs-pp-colour-picker' ).wpColorPicker();
} );
</script>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top">
<label for="level_public"><?php _e('Visibilità del Livello Giocatore'); ?></label>
</th>
<td>
<input type="checkbox" name="term_meta[level_public]" id="term_meta[level_public]" value="true"<?php echo $checked; ?>>Il livello è visibile agli utenti quando visualizzano i profili giocatori.
<p class="description"><?php _e('Indica se questo Livello Giocatore deve essere visibile nella pagina del profilo giocatore o meno. Può essere utile per fornire contesto ad alcuni dei voti o meno. In alcuni casi, può aiutare gli utenti a capire che i voti ricevuti da un giocatore sono relativi alla sua categoria o livello di gioco.'); ?></p>
</td>
</tr>
<?php }
add_action( 'yourplugin_player_levels_edit_form_fields', 'yourplugin_taxonomy_custom_fields', 10, 2 );
function save_yourplugin_custom_fields( $term_id ) {
if ( isset( $_POST['term_meta'] ) ) {
$t_id = $term_id;
$term_meta = get_option( 'taxonomy_term_'.$t_id );
$cat_keys = array_keys( $_POST['term_meta'] );
foreach ( $cat_keys as $key ){
if ( isset( $_POST['term_meta'][$key] ) ){
$term_meta[$key] = $_POST['term_meta'][$key];
}
}
update_option( 'taxonomy_term_'.$t_id, $term_meta );
} else {
delete_option( 'taxonomy_term_'.$t_id, $term_meta );
}
}
add_action( 'edited_yourplugin_player_levels', 'save_yourplugin_custom_fields', 10, 2 );
Se vuoi aggiungere il selettore di colore, dovrai includere gli script appropriati, ecc. (Questo articolo dovrebbe coprire il processo.)
Tieni presente che con questa opzione, devi comunque poter modificare il file archive-cpt.php per poter utilizzare queste nuove opzioni che hai appena aggiunto. A seconda del tema che stai utilizzando, potresti essere in grado di modificarlo tu stesso o forse il tuo tema di terze parti ha alcuni hook che il tuo plugin può utilizzare.
Tuttavia, se stai utilizzando un child theme personalizzato o un tema personalizzato, hai molta più flessibilità e puoi configurare template per gli archivi - puoi quindi controllare quale contenuto viene inserito. Puoi manipolare il contenuto aggiungendo opzioni del tema, come descritto nella risposta di @admcfajn, oppure utilizzare le opzioni per le categorie che ho descritto sopra.

Sicuramente si può fare. Per le tassonomie (categoria, tag, qualsiasi tassonomia personalizzata - presumo che sia questo ciò che stai cercando) è semplice, ognuna ha la sua pagina nella dashboard - vedi sotto articoli -> categoria/tag -> modifica categoria. C'è un campo personalizzato chiamato descrizione ma puoi aggiungerne altri (foto, ecc.) tramite functions.php o qualche plugin. Naturalmente, dovresti prima modificare i template tu stesso, in modo che recuperino il contenuto dei campi desiderati.
