Tôi đang cố gắng tạo một chức năng cho phép tôi thay đổi tiêu đề của một hộp meta đã được thiết lập (nghĩa là thay đổi tiêu đề của Meta Box 'Tác giả' thành 'Đội', v.v.)
Tôi không muốn sử dụng JS hoặc phải bỏ đặt hộp meta gốc và thêm lại nó.
Tôi đã bắt đầu với những điều sau theo một chủ đề khác liệt kê mã như vậy:
// 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
}
Tôi bị mắc kẹt một phần để "xoay vòng qua mảng và thay đổi tiêu đề bạn muốn".
Điều gì sẽ là cách tốt nhất để thực hiện điều này? Sử dụng một foreach để lặp? Hoặc một kịch bản Switch / Case? Tôi khá mới về điều này, bất cứ ai cũng có thể cung cấp một ví dụ về cách thực hiện điều này?
Cập nhật: Ví dụ của Stephen Harris hoạt động cho Core Meta's (cảm ơn!):
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';
}
Cập nhật: Đã sửa lỗi cho Meta Custom
Để làm cho điều này hoạt động với meta tùy chỉnh của bạn, hãy thay đổi add_action của bạn như sau để nó kích hoạt mã tiêu đề thay đổi của bạn sau khi hộp meta được thêm vào:
add_action('add_meta_boxes', 'change_meta_box_titles', 999);