For a project I'm working on, I want to change the labels of the 'Nickname' and 'Biographical Info' fields on edit profile (user-edit.php) page in the dashboard. I still want to use those fields as they are, I only want to change the labels. Anyone know of a function that can do this?
2 Answers
Every string goes through translate()
, which uses the gettext
filter. This mean you can try something like this:
add_filter( 'gettext', 'wpse6096_gettext', 10, 2 );
function wpse6096_gettext( $translation, $original )
{
if ( 'Nickname' == $original ) {
return 'Funny name';
}
if ( 'Biographical Info' == $original ) {
return 'Resume';
}
return $translation;
}
It's probably even more efficient if you only call the add_filter
when you are on the user-edit.php
page (see the admin_head-user-edit.php
hook or something like that).
I am late with answer, but here is my take anyway. Slight differences and that selective filter add.
add_action('admin_head-user-edit.php', 'setup_user_edit');
function setup_user_edit() {
add_filter('gettext', 'change_profile_labels');
}
function change_profile_labels($input) {
if ('Nickname' == $input)
return 'Nickname replacement';
if ('Biographical Info' == $input)
return 'Biographical Info replacement';
return $input;
}
-
Thanks! This works...almost. It changes the labels when an admin is viewing another user but it doesn't change the labels when a user is editing their own profile. Is there a different function to use other than 'admin_head-user-edit.php' Commented Dec 31, 2010 at 20:34
-
@John Chandler
admin_head-user-edit.php
is not a function, but hook with dynamically generated name. So if you want this to run on more pages, hook it to moreadmin_head-
hooks, appending suffixes accordingly.– RarstCommented Dec 31, 2010 at 20:55 -
Thx. Still getting used to work with functions and learning all the language. Commented Dec 31, 2010 at 21:40
-
1