Existe alguma maneira de renomear um nome de função de usuário via gancho, em vez de usar o plugin?
Editar
Por exemplo, administrator
»owner
Existe alguma maneira de renomear um nome de função de usuário via gancho, em vez de usar o plugin?
Por exemplo, administrator
»owner
Respostas:
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
agora faz [role_objects]
parte de sua matriz.
Uma solução simples seria adicionar apenas uma função de usuário add_role
, para que você possa nomeá-la como quiser e adicionar os recursos que desejar.
http://codex.wordpress.org/Function_Reference/add_role
Na verdade, existem muitas maneiras de conseguir isso:
Com php e mysql puro, você pode editar a entrada serializada no banco de dados. De fato, o Wordpress armazena a matriz serializada de papéis na wp_options
tabela.
Tão:
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
conteúdo db pela saída do ponto anteriorSe você se sentir confiante com o Wordpress, pode até usar o Wordpress REPL incorporado no wp-cli para buscar o valor armazenado get_option('wp_user_roles')
e usá update_option
-lo para atualizá-lo.
E (sempre) lembre-se de fazer backup do banco de dados antes da manipulação das opções;)
… É muito fácil conseguir isso com o wp-cli :
$ wp role create new_role 'New Role' --clone=old_role
$ wp role delete old_role
Você pode criar um arquivo de localização personalizado. Obtenha este arquivo: http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot e edite usando a ferramenta PoEdit (por exemplo). Na próxima etapa, salve o arquivo de localização como en_GB.mo (ou outro) e edite o arquivo wp-config:
define ("WPLANG", "en_GB");