Czy istnieje możliwość zmiany nazwy roli użytkownika za pomocą hooka, zamiast używania wtyczki?
Edytować
Na przykład administrator
»owner
user-roles
capabilities
Sean Lee
źródło
źródło
Odpowiedzi:
http://www.garyc40.com/2010/04/ultimate-guide-to-roles-and-capabilities/
źródło
$wp_roles
teraz ma[role_objects]
część swojej tablicy.Prostym rozwiązaniem byłoby po prostu dodanie roli użytkownika
add_role
, w ten sposób możesz nazwać ją jak chcesz i dodać dowolne funkcje. http://codex.wordpress.org/Function_Reference/add_roleźródło
W rzeczywistości istnieje wiele sposobów na osiągnięcie tego:
Za pomocą czystego php i mysql możesz edytować serializowany wpis w bazie danych. Rzeczywiście, Wordpress przechowuje szeregowany szereg ról w
wp_options
tabeli.Więc:
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
zawartość db na dane wyjściowe z poprzedniego punktuJeśli czujesz się pewnie dzięki Wordpress, możesz nawet użyć wbudowanego narzędzia Wordpress REPL w wp-cli, aby pobrać przechowywaną wartość,
get_option('wp_user_roles')
a następnie użyć jejupdate_option
do aktualizacji.I (zawsze) pamiętaj, aby wykonać kopię zapasową bazy danych przed manipulacją opcjami;)
W przeciwnym razie, jeśli nie zależy ci na wartości role_key…
… Bardzo łatwo to osiągnąć dzięki wp-cli :
$ wp role create new_role 'New Role' --clone=old_role
$ wp role delete old_role
źródło
Możesz utworzyć niestandardowy plik lokalizacji. Pobierz ten plik: http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot i edytuj za pomocą narzędzia PoEdit (na przykład). W następnym kroku zapisz plik lokalizacji jako en_GB.mo (lub inny) i edytuj plik wp-config:
Zdefiniuj („WPLANG”, „en_GB”);
źródło
Możesz edytować go bezpośrednio w swojej bazie danych i będzie on edytowany na stałe dla Twojej witryny. Tutaj WP zachowuje role użytkowników
źródło