¿Hay alguna forma de cambiar el nombre del rol de usuario sin el complemento?

20

¿Hay alguna forma de cambiar el nombre de un rol de usuario a través de un enlace, en lugar de usar un complemento?

Editar

Por ejemplo, administrator » owner

    
pregunta Sean Lee 15.07.2011 - 09:53

5 respuestas

40
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');

enlace

    
respondido por el Ján Bočínec 02.09.2011 - 08:31
2

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. enlace

    
respondido por el Wyck 15.07.2011 - 23:04
2

En realidad, hay muchas maneras de lograrlo:

Con php puro y mysql puede editar la entrada serializada en la db. De hecho, Wordpress almacena la matriz serializada de roles en la tabla wp_options .

Entonces:

  1. Recupera la matriz serializada:
    SELECT option_value as serialized_string FROM wp_options WHERE option_name = 'wp_user_roles';
  2. Anule la serialización - php: $rolesArray = unserialize($serialized_string)
  3. Cambia el nombre del rol - php: $rolesArray['role_key']['name'] = "New name"
  4. Serializar de nuevo la matriz - php: echo serialize($rolesArray)
  5. Reemplace el contenido de db option_value con la salida del punto anterior

Si se siente confiado con Wordpress, incluso puede usar Wordpress REPL incrustado en wp-cli para obtener el valor almacenado con get_option('wp_user_roles') y luego use update_option para actualizarlo.

Y (siempre) recuerda hacer una copia de seguridad de la base de datos antes de manipular las opciones;)

De lo contrario, si no te importa el valor de role_key ...

... es muy fácil lograrlo con wp-cli :

  1. duplica el rol existente - $ wp role create new_role 'New Role' --clone=old_role
  2. eliminar el anterior - $ wp role delete old_role
  3. luego asocie new_role a los usuarios.
  4. eventualmente repita los pasos 1 y 2 hasta old_role = new_role
respondido por el Dharma 15.09.2016 - 15:01
1

Puedes crear un archivo de localización personalizado. Obtenga este archivo: enlace y edítelo 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");

    
respondido por el czepol 15.07.2011 - 22:41
0

Puede editarlo directamente en su base de datos, y se editará permanentemente para su sitio web. Aquí es donde WP mantiene los roles de usuario

SELECT * from blog_options WHERE option_name = 'blog_user_roles'
    
respondido por el artnikpro 13.08.2015 - 19:58

Lea otras preguntas en las etiquetas