この時点で私は本当に混乱しています。 adminバックエンドでEdit My Profile
リンクの名前を変更する方法がわかりません。
どうすればそれができますか?
wp_before_admin_bar_render
フック を使うことができます。あなたはそれらをあなたのテーマのfunctions.php
に入れることによってコーデックスページのコードサンプルで遊ぶことができます。
まず最初にprint_r()
を使ってその内容を出力することでオブジェクトを調べることができます、そしてあなたはすべての身近なアイテムを見るでしょう。私はおそらくremove_menu
ヘルパーを使用し、それから物事をきれいに保つために修正されたリンクタイトルで新しいものを追加するでしょう。
add_action( 'wp_before_admin_bar_render', 'my_tweaked_admin_bar' );
function my_tweaked_admin_bar() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu('edit-profile');
$wp_admin_bar->add_menu( array(
'id' => 'edit-profile',
'title' => 'Edit Zee Profile',
'href' => admin_url('profile.php'),
'parent'=>'user-actions'
));
}
このアプローチの欠点は、新しいアイテムが同じ場所に表示されないことです。
バックエンドでコアコードから文字列を変更したい場合は、 gettext
フィルタ を使用するのが賢い方法です。
このフィルタは、すべての国際化機能、つまりすべての翻訳可能な文字列に対して適用されます。
あなたの目的が翻訳ではなく名前の変更であるとしても、それはトリックをします:
function wpse94377_change_admin_ui_text( $translation, $text ) {
if( is_admin() && 'Edit My Profile' === $text ) {
return 'Edit My Userdata';
}
return $translation;
}
add_filter( 'gettext', wpse94377_change_admin_ui_text, 10, 2 );
明らかにあなたは別の翻訳可能な文字列を返すことでも可能です。
最初のreturn
ステートメントの後の__( 'Edit My Userdata', 'your-text-domain' )
。