Cum să modifici conținutul paginii de arhivă în panoul de administrare WordPress
Deci, am o pagină care este o arhivă personalizată ce afișează o listă de articole. Singura problemă este că clientul dorește să poată edita conținutul propriu-zis al paginii de arhivă (imaginea și titlul), nu doar conținutul articolelor. Toate acestea trebuie să fie realizabile din dashboard pentru a fi ușor de utilizat de client. Există vreo metodă prin care pot face ca template-ul personalizat al paginii de arhivă să apară în fila "Pagini"? Sau să fie editabil în dashboard? Mulțumesc!

Transformarea într-o taxonomie și permițând clientului să editeze titlul termenului și descrierea ar fi o opțiune pe care aș lua-o în considerare.
Tema poate sau nu să utilizeze un fișier șablon personalizat pentru a controla interfața arhivei CPT.
Utilizarea unui șablon de pagină nu ar fi indicată, deoarece prin încărcarea tipului de postare și a paginii la aceeași adresă URL, pot apărea probleme.
Utilizarea opțiunilor temei ar fi o metodă bună. Având o opțiune de temă în combinație cu un șablon de arhivă personalizat pentru arhiva tipului de postare ar putea funcționa.
Pentru a afla cum să creezi opțiuni pentru temă, vezi acest exemplu: https://codex.wordpress.org/Creating_Options_Pages#Example_.232
Și pentru șabloane de pagină personalizate, acest link te va ajuta: https://developer.wordpress.org/themes/basics/template-hierarchy/#visual-overview

În funcție de configurare, există mai multe modalități de a gestiona acest lucru. Presupun că cel mai probabil scenariu este că utilizați o temă de la terți, ceea ce înseamnă că nu puteți edita fișierele temei (nu ar trebui să faceți acest lucru, deoarece actualizările vă vor șterge modificările). Acest lucru vă limitează opțiunile, iar cea mai ușoară soluție ar fi, așa cum au sugerat și alte răspunsuri, să completați conținutul Categoriei sub meniul 'Articole' din panoul de administrare. Există plugin-uri care vă permit să adăugați mai mult conținut, cum ar fi o imagine reprezentativă: Category Featured Image
De asemenea, puteți construi propriul plugin, oferind un control mai mare asupra a ceea ce adăugați la categorii. Iată un segment de cod pe care l-am folosit pentru a adăuga un selector de culoare și o opțiune de bifare într-o taxonomie personalizată. Desigur, îl puteți aplica și unei taxonomii existente.
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('Culoare Nivel Jucător'); ?></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('Selectați culoarea etichetei pentru acest Nivel de Jucător.'); ?></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('Vizibilitate Nivel Jucător'); ?></label>
</th>
<td>
<input type="checkbox" name="term_meta[level_public]" id="term_meta[level_public]" value="true"<?php echo $checked; ?>>Nivelul este vizibil pentru utilizatori când vizualizează profilele de jucători.
<p class="description"><?php _e('Indicați dacă acest Nivel de Jucător ar trebui să fie vizibil pe pagina de profil a jucătorului sau nu. Acest lucru este util pentru a oferi context pentru unele dintre evaluări sau nu. În unele cazuri, poate fi util ca utilizatorii să înțeleagă că evaluările primite de un jucător sunt relative la categoria sau nivelul său de joc.'); ?></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 );
Dacă doriți să adăugați selectorul de culoare, va trebui să includeți scripturile corespunzătoare, etc. (Acest link ar trebui să acopere procesul.)
Rețineți că, cu această opțiune, trebuie să puteți edita fișierul archive-cpt.php pentru a utiliza aceste noi opțiuni adăugate. În funcție de tema pe care o utilizați, este posibil să o puteți edita singur sau tema de la terți poate avea cârlige pe care plugin-ul dvs. le poate utiliza.
Cu toate acestea, dacă utilizați o temă copil personalizată sau o temă personalizată, aveți mult mai multă flexibilitate și puteți configura șabloane de arhivă - puteți controla ce conținut este introdus în ele. Puteți manipula conținutul adăugând opțiuni de temă, așa cum este descris în răspunsul lui @admcfajn, sau puteți folosi opțiunile pentru categorii pe care le-am prezentat mai sus.

Desigur, se poate realiza. Pentru taxonomii (categorie, etichetă sau orice taxonomie personalizată - presupun că aceasta este ceea ce dorești), este simplu, fiecare are propria pagină în panoul de administrare - vezi sub Articole -> Categorii/Etichete -> Editează categorie. Există un câmp personalizat numit descriere, dar poți adăuga mai multe (fotografie, orice altceva) prin fișierul functions.php sau prin intermediul unui plugin. Desigur, va trebui să editezi mai întâi șabloanele, astfel încât să preia conținutul câmpurilor dorite.
