Есть ли способ переименовать имя роли пользователя через ловушку вместо использования плагина?
редактировать
Например, administrator
»owner
user-roles
capabilities
Шон Ли
источник
источник
Ответы:
http://www.garyc40.com/2010/04/ultimate-guide-to-roles-and-capabilities/
источник
$wp_roles
теперь есть[role_objects]
часть его массива.Простым решением было бы просто добавить роль пользователя, используя ее
add_role
, чтобы вы могли называть ее по своему усмотрению и добавлять любые нужные вам возможности. http://codex.wordpress.org/Function_Reference/add_roleисточник
На самом деле, есть много способов добиться этого:
С чистым php и mysql вы можете редактировать сериализованную запись в БД. Действительно, 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
содержимое БД с выводом из предыдущей точкиЕсли вы уверены в Wordpress, вы можете даже использовать встроенный Wordpress REPL в wp-cli, чтобы извлечь сохраненное значение,
get_option('wp_user_roles')
а затем использоватьupdate_option
для его обновления.И (всегда) не забудьте сделать резервную копию базы данных перед манипуляциями с опциями;)
В противном случае, если вам не важно значение role_key…
… Это очень легко сделать с помощью 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");
источник
Вы можете редактировать его прямо в вашей БД, и он будет редактироваться навсегда для вашего сайта. Здесь WP хранит пользовательские роли
источник