[wordpress]管理画面の右下に現在のバージョンも表示させたい

20130225-1
wordpressの管理画面の右下には、左の画像のように、最新バージョンが表示されます。しかし、個人的には、今使っているバージョンも表示させたい。そこで、functions.phpに関数を追加して、現在のバージョンも表示されるようにしてみたいと思います。

最新バージョンはどうやって表示されてるんだろう

まずは、管理画面の右下に最新バージョンを表示しているのは、wordpressのどの部分かを調べてみます。

管理画面のhtmlの中身を見てみると、footer-upgradeというidがついたpタグの中で表示されていることがわかります。wordpressのファイル全体の中で、このfooter-upgradeを検索してみると、wp-adminフォルダの下のadmin-footer.phpの中で発見できます。

このadmin-footer.phpというファイルの中身を見てみると、次のように書かれています。

<p id="footer-upgrade" class="alignright"><?php echo apply_filters( 'update_footer', '' ); ?></p>

update_footerというフィルタが効いてることがわかります。フィルタについて全く知識のない人は、Webデザインレシピさんの次のページでわかりやすく解説されていますので見てみましょう。というか、僕も参考にしました。

WordPressをカスタマイズするなら覚えておきたいアクションフックとフィルターフック

さて、さらにこのupdate_footerというフィルタをwordpressの中で検索してみると、wp-adminの下のincludesフォルダの下にあるupdate.phpの中にあることがわかります。そこには、

add_filter( 'update_footer', 'core_update_footer' );

とあり、その直前に、core_update_footerという関数が定義されています。ここで、最新版ならこう、アップグレードできるならこう、と管理画面の右下の表示内容を切り替えているみたいです。

現在のバージョンを表示してみる

ここまでで、update_footerというフィルタが使われていることが分かったので、これに現在のバージョンを表示する機能をつけてみましょう。

管理画面のダッシュボードに「現在の状況」があり、その中に現在使用しているバージョンが表示されています。この要素は、wp-version-messageというidがついたspanタグ内で表示されています。wordpressでこのidを検索してみると、上で調べたときに出てきた、update.php内で使われていることがわかります。

このupdate.php内のupdate_right_now_messageという関数の中で、バージョンの表示を行っています。この中の、バージョンの表示に直接効いているのが、次の部分です。

sprintf( __( 'You are using <span class="b">WordPress %s</span>.' ), get_bloginfo( 'version', 'display' ) );

これをそのまま使いまわしましょう。

update_footerというフィルタに適当な名前を付けたオリジナルの関数を追加し、その関数には現在のバージョンを表示するように書きます。具体的には、次の内容を現在使っているテーマのfunctions.phpの中に突っ込めば終わりです。

function my_display_cur_version(){
  echo sprintf( __( 'You are using <span class="b">WordPress %s</span>.' ), get_bloginfo( 'version', 'display' ) );
}
add_filter( 'update_footer', 'my_display_cur_version');

20130225-2
この結果、管理画面の右下は次のようになります。これで、現在使用中のバージョンと最新バージョンとが両方確認できるようになります。現在使用中のバージョンの表示方法は、自分の好みに合わせて手を加えてみましょう。

前の記事:
[excel]「100以上なら赤字」くらいだったら、普通の書式設定だけでできちゃうよ
次の記事:
[css]画像を使わずにcssだけで矢印を作る方法