Чи все ж є можливість перейменувати ім’я ролі користувача через гачок, а не використовувати плагін?
Редагувати
Наприклад, administrator
»owner
Чи все ж є можливість перейменувати ім’я ролі користувача через гачок, а не використовувати плагін?
Наприклад, administrator
»owner
Відповіді:
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-capa sposobnosti/
$wp_roles
зараз є [role_objects]
частина його масиву.
Простим рішенням буде просто додати роль користувача add_role
, використовуючи , таким чином, ви можете назвати його все, що завгодно, і додати всі необхідні можливості.
http://codex.wordpress.org/Function_Reference/add_role
Насправді існує багато способів досягти цього:
За допомогою чистого php та mysql ви можете редагувати серіалізований запис у db. Дійсно, Wordpress зберігає серіалізований масив ролей у wp_options
табл.
Так:
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
вміст db на вихід з попередньої точкиЯкщо ви впевнені в Wordpress, ви навіть можете використовувати вбудований Wordpress REPL в wp-cli, щоб отримати збережене значення, get_option('wp_user_roles')
а потім використовувати його update_option
для оновлення.
І (завжди) не забудьте зробити резервну копію DB перед маніпуляціями з параметрами;)
… Досягти цього дуже просто за допомогою wp-cli :
$ wp role create new_role 'New Role' --clone=old_role
$ wp role delete old_role
Ви можете створити спеціальний файл локалізації. Отримайте цей файл: http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot та відредагуйте за допомогою інструмента PoEdit (наприклад). На наступному кроці збережіть файл локалізації як en_GB.mo (або інший) та відредагуйте файл wp-config:
define ("WPLANG", "en_GB");