¿Hay alguna forma de cambiar el nombre de un rol de usuario a través del enlace, en lugar de usar el complemento?
Editar
Por ejemplo, administrator
»owner
¿Hay alguna forma de cambiar el nombre de un rol de usuario a través del enlace, en lugar de usar el complemento?
Por ejemplo, administrator
»owner
Respuestas:
function change_role_name() {
global $wp_roles;
if ( ! isset( $wp_roles ) )
$wp_roles = new WP_Roles();
//You can list all currently available roles like this...
//$roles = $wp_roles->get_names();
//print_r($roles);
//You can replace "administrator" with any other role "editor", "author", "contributor" or "subscriber"...
$wp_roles->roles['administrator']['name'] = 'Owner';
$wp_roles->role_names['administrator'] = 'Owner';
}
add_action('init', 'change_role_name');
http://www.garyc40.com/2010/04/ultimate-guide-to-roles-and-capabilities/
$wp_roles
ahora tiene una [role_objects]
parte de su matriz.
Una solución simple sería simplemente agregar un rol de usuario usando add_role
, de esa manera puede nombrarlo como desee y agregar las capacidades que desee.
http://codex.wordpress.org/Function_Reference/add_role
En realidad, hay muchas formas de lograrlo:
Con php y mysql puro , puede editar la entrada serializada en la base de datos. De hecho, Wordpress almacena la matriz serializada de roles en la wp_options
tabla.
Asi que:
SELECT option_value as serialized_string FROM wp_options WHERE option_name = 'wp_user_roles';
$rolesArray = unserialize($serialized_string)
$rolesArray['role_key']['name'] = "New name"
echo serialize($rolesArray)
option_value
contenido de db con la salida del punto anteriorSi se siente seguro con Wordpress, incluso puede usar el REPL de Wordpress incrustado en wp-cli para obtener el valor almacenado get_option('wp_user_roles')
y luego usarlo update_option
para actualizarlo.
Y (siempre) recuerde hacer una copia de seguridad de la base de datos antes de la manipulación de opciones;)
… Es muy fácil lograr eso con wp-cli :
$ wp role create new_role 'New Role' --clone=old_role
$ wp role delete old_role
Puede crear un archivo de localización personalizado. Obtenga este archivo: http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot y edite con la herramienta PoEdit (por ejemplo). En el siguiente paso, guarde el archivo de localización como en_GB.mo (u otro) y edite el archivo wp-config:
define ("WPLANG", "en_GB");