Sto cercando di creare una funzione che mi consenta di cambiare il titolo di una meta box stabilita (ovvero, cambiare il titolo della Meta Box "Autori" in "Squadra", ecc.)
Non volevo usare JS né disinserire la meta box originale e aggiungerla di nuovo.
Ho iniziato con il seguente secondo un altro thread che elencava il codice in questo modo:
// hook to the 'add_meta_boxes' action
add_action('add_meta_boxes', 'change_meta_box_titles');
function change_meta_box_titles($post_type, $post)) {
global $wp_meta_boxes; // array of defined meta boxes
// cycle through the array, change the titles you want
}
Sono bloccato sulla parte per "scorrere l'array e cambiare i titoli desiderati".
Quale sarebbe il modo migliore per raggiungere questo obiettivo? Usi un foreach per fare il loop? O uno scenario Switch / Case? Sono abbastanza nuovo in questo, qualcuno potrebbe fornire un esempio di come realizzare questo?
Aggiornamento: l'esempio di Stephen Harris funziona per Core Meta (grazie!):
add_action('add_meta_boxes', 'change_meta_box_titles');
function change_meta_box_titles() {
global $wp_meta_boxes; // array of defined meta boxes
// cycle through the array, change the titles you want
$wp_meta_boxes['post']['normal']['core']['authordiv']['title']= 'Team Member';
}
Aggiornamento: risolto per Meta personalizzati
Per farlo funzionare con i tuoi meta personalizzati cambia la tua add_action come segue in modo che spari il tuo codice di modifica del titolo dopo che la meta box è stata aggiunta:
add_action('add_meta_boxes', 'change_meta_box_titles', 999);