Yanıtlar:
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
şimdi [role_objects]
dizisinin bir parçası.
Basit bir çözüm, kullanarak kullanıcı rolü eklemek add_role
, istediğiniz şekilde adlandırabilir ve istediğiniz özellikleri ekleyebilmeniz olacaktır.
http://codex.wordpress.org/Function_Reference/add_role
Aslında, bunu başarmanın birçok yolu vardır:
İle saf php ve mysql Eğer db tefrika girişi düzenleyebilirsiniz. Gerçekten de, Wordpress seri hale getirilmiş rol dizisini wp_options
tabloda saklar .
Yani:
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
içeriğini önceki noktadan çıkışla değiştirinWordpress ile kendinize güveniyorsanız , saklanan değeri almak için wp-cli içindeki gömülü Wordpress REPL'yi bile kullanabilir get_option('wp_user_roles')
ve ardından update_option
güncellemek için kullanabilirsiniz .
Ve (her zaman) seçenekleri değiştirmeden önce db'yi yedeklemeyi unutmayın;)
… Wp-cli ile bunu başarmak çok kolay :
$ wp role create new_role 'New Role' --clone=old_role
$ wp role delete old_role
Özel bir yerelleştirme dosyası oluşturabilirsiniz. Bu dosyayı alın: http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot ve PoEdit aracını kullanarak düzenleyin (örneğin). Bir sonraki adımda, yerelleştirme dosyasını en_GB.mo (ya da diğer) olarak kaydedin ve wp-config dosyasını düzenleyin:
define ("WPLANG", "en_GB");