Ich versuche, eine Funktion zu erstellen, mit der ich den Titel einer etablierten Meta-Box ändern kann (dh den Meta-Box-Titel "Autoren" in "Team" usw. ändern kann).
Ich wollte JS nicht verwenden oder musste die ursprüngliche Meta-Box deaktivieren und erneut hinzufügen.
Ich habe mit dem folgenden Thema begonnen, wie in einem anderen Thread, in dem der Code wie folgt aufgeführt ist:
// 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
}
Ich bin fest entschlossen, "durch das Array zu blättern und die gewünschten Titel zu ändern".
Was wäre der beste Weg, um dies zu erreichen? Verwenden Sie eine foreach-Schleife? Oder ein Switch / Case-Szenario? Ich bin ziemlich neu in diesem Bereich. Könnte jemand ein Beispiel dafür geben, wie dies erreicht werden kann?
Update: Stephen Harris 'Beispiel funktioniert für Core Meta (danke!):
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';
}
Update: Für benutzerdefinierte Metas behoben
Damit dies mit den benutzerdefinierten Metas funktioniert, ändern Sie Ihre add_action wie folgt, sodass Ihr Änderungstitelcode nach dem Hinzufügen des Meta-Felds ausgelöst wird:
add_action('add_meta_boxes', 'change_meta_box_titles', 999);