プラグインの英語名をメニュー内だけでも日本語化する

ついでにメニューカスタマイズの方法も整理してみようかと思ったが、すでに「WordPress管理画面のメニューをカスタマイズするfunctions.php記述法まとめ」によくまとまっていた。

のでUser Login Historyを入れた場合に何をやったかだけ。

このプラグインは多言語化してないプラグインなのでそのまま英語名でメニューに表示されるが、日本語が並ぶ中に突然の英語はちょっとユーザーに不安を抱かせる。
またあまり目に触れなくて良い項目の割に、メニューのけっこう上の方に表示されるので、もっと目立たない場所に表示したい。

それらの対策として、メニューの表示だけでも日本語化して、位置を一番下に持ってくるということをやっているコードが以下。
functions.phpあたりに追加する。


// 管理画面のメニューのカスタマイズ
function modify_menus () {
    global $menu;
    // ログイン履歴のメニュー項目は一番下の方に表示
    if (isset($menu['30.62246'])) {
      $user_login_history_menu = $menu['30.62246'];
      unset($menu['30.62246']);
  
      $user_login_history_menu[0] = 'ログイン履歴';
      $menu[100] = $user_login_history_menu;
    }
}
add_action('admin_menu', 'modify_menus');

「$menu[‘30.62246’]」というのはvar_dump($menu)で調べたら出てきたもので、なんでこう言う値になったのはよく分からない。

WordPressのバージョンが変わったりすると変更される可能性があるので、その場合は都度対応する。

「$menu[100]」は「設定」の位置が80なので、100にするとその下に表示されるということで適当に100にした。それ以上の意味は無い。