Estoy tratando de crear una función que me permita cambiar el título de un meta cuadro establecido (es decir, cambiar el título de Meta Box 'Autores' a 'Equipo', etc.)
No quería usar JS o tener que desarmar el meta cuadro original y volver a agregarlo.
Comencé con lo siguiente según otro hilo que enumeraba el código de esta manera:
// 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
}
Estoy atrapado en la parte para "recorrer la matriz y cambiar los títulos que desea".
¿Cuál sería la mejor manera de lograr esto? Usando un foreach para bucle? O un escenario Switch / Case? Soy bastante nuevo en esto, ¿alguien podría dar un ejemplo de cómo lograr esto?
Actualización: el ejemplo de Stephen Harris funciona para Core Meta (¡gracias!):
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';
}
Actualización: arreglado para meta's personalizados
Para que esto funcione con sus meta personalizados, cambie su add_action de la siguiente manera para que active su código de cambio de título después de que se haya agregado el cuadro meta:
add_action('add_meta_boxes', 'change_meta_box_titles', 999);
$wp_meta_boxes['post']['side']['core']['projectinfo']['title']= 'New Title';
pero eso no funcionó, ¿me perdí algo aquí?echo '<pre>'; print_r($wp_meta_boxes); echo '</pre>'; wp_die('');
después de haber cambiado el título para ver qué salió mal. Mi conjetura es que no es 'núcleo': DSé que esta es una vieja pregunta, pero hay un gancho de filtro para esto. Agregaría al complemento de tema
functions.php
o funcionalidad personalizada una función conectada apost_type_labels_{$post_type}
Tomemos, por ejemplo, que tenemos un tipo de publicación personalizado llamado
band
y queremos cambiar las etiquetas de imagen destacadas a "Band Photo". La función se vería así:ref: https://developer.wordpress.org/reference/hooks/post_type_labels_post_type/
fuente
Afaik, su mejor opción sería conectar una función al gancho justo antes de la creación de la caja meta:
fuente
De acuerdo ... Esto es un poco hacky, pero pensé que era inteligente. Básicamente, solo usa las funciones de lenguaje incorporadas para cambiar lo que le gusta. Siempre que conozca la palabra o palabras originales que desea cambiar y que se hayan llamado correctamente en el código con algo como
__('text in here')
, puede cambiarlas a lo que quiera.Una vez lo usé para cambiar el meta cuadro "Extractos" a un nombre diferente (junto con la descripción dentro) porque mi tema lo usó para fragmentos de texto extremadamente pequeños. Echar un vistazo:
Como resultado, no fui el único en pensar en esto. Sorpresa. Aquí hay un artículo que discute la misma idea , con un método diferente de usar gettext.
fuente
Desde WordPress 4.4, $ screen arg puede ser una matriz que simplifica enormemente las adiciones o alteraciones masivas de meta cuadros.
El siguiente código cambia el título del metacuadro "Autor" a "Editor" en las páginas, publicaciones, archivos adjuntos y todos los tipos de publicaciones personalizadas, sin importar cuántas se agreguen o cuándo se agreguen a su sitio.
fuente
Esto es un poco extraño, pero para cualquiera que necesite una solución CSS simple, use esto:
Simplemente reemplace your-metabox-id con el suyo. :)
(nota: normalmente agrego un admin.css a través de functions.php, ahí es donde controlo algunos estilos de administración de wp)
fuente