WordPressのバージョン7.2以降では、管理画面内の標準メニューのアイコンがSVGに切り替わりますね。
ベータバージョンの段階では、ダッシュアイコンのままもありつつのようですが、徐々に完全に切り替わっていくのでしょう。
もちろんWordPressはきちんとフォールバックされている親切なプログラムなので、しばらくはダッシュアイコンも使い続けることができるのでしょうけど、テーマやプラグインのコードでメニューを追加している場合には、私のように早速SVGでメニューアイコンを表示させたいと考える方も多いのではないでしょうか?
そこで今回はバージョン7.1.x以前のサイトでは従来のダッシュアイコンで表示させつつ、7.2-beta以降ではSVGアイコンを表示させる方法を例として紹介します。
今回の方法では、前述したように、現段階ではSVGアイコンがダッシュアイコンの代替として完全に一致していないため、同じもので置き換えることができない場合があり、今回の手法では7.1.xと7.2以降でアイコンを変更することになるケースもありますので、アイコン自体は変えたくないという場合には、公式ページで紹介されているように、これはダッシュアイコンに対するSVG画像がない場合にダッシュアイコンを表示させるというアプローチの方がいいかも知れませんのでお好みでどうぞ。
どんなSVGアイコンがあるのかは、こちら(GitHubのページ)で見ることができます。また、こちらのページのコードで「collections」パラメーターに「core-admin」の指定があるものは、管理画面のアイコンとして使用できますので参考にしてみてください
以下がWordPressのコアバージョンによって、ダッシュアイコンを表示するのか、SVGアイコンを表示するのかを切り替えるコード例です(本サイトで配布しているHima Art Utilityプラグインのメインメニューのコードです)。
function haumenu_init_main_menu() {
// 7.2のベータ版、RC版、および7.2以降の正式版をすべて含める場合
if ( version_compare( wp_get_wp_version(), '7.2-beta', '>=' ) ) {
// WordPress 7.2 ベータ以降の場合の処理
$icon_url = 'core-admin/plugins';
} else {
// WordPress 7.1.x 以前の場合の処理
$icon_url = 'dashicons-screenoptions';
}
add_menu_page(
__('HimaArt Utilitiy(New)','hima-art-utility'), // $page_title ページのタイトル(ブラウザのタブへ表示)
__('HA Utilitiy(New)','hima-art-utility'), // $menu_title メニューのタイトル
'manage_options', // $capability 権限
haumenu_define_menu_slug(), // $menu_slug スラグ
'haumenu_main_menu_page', // $callback コールバック関数
$icon_url,
9998 //$position メニューを表示する位置
);
}
add_action('admin_menu', 'haumenu_init_main_menu');
これまでのメニューのコードとの相違点は、コード前半でWordPressバージョンによって、ダッシュアイコンにするのか、SVGアイコンにするのかを判定して、add_menu_page()の$icon_urlに渡すものを切り替えるという部分を追加しただけです。
これで、7.1.xでは従来のダッシュアイコンが表示され、7.2.x(7.2-beta以降を含む)ではSVGアイコンが表示されるので、古いバージョンのWordPressでもきちんとアイコンが表示されるようになります。
前述したように、従来のダッシュアイコン自体がすぐに使えなくなるということではないので、必ず対応しなければならないことではありませんが、将来的に使用できなくなるかもしれないということを考えて、または最新のものを取り入れたいという方はこの手法で対応しておくといいのではないかと思います。
※アイコンスラグの左に実際のアイコンを表示しています
※「core-admin」グループのみ〇の付いているアイコンは管理画面専用なのでここでは表示されません
※「core」グループのみ〇の付いているアイコンは表示画面専用なので管理画面では利用できません
| core-admin | core | SVGアイコン | ダッシュアイコン | ||
|---|---|---|---|---|---|
| 〇 | 〇 | arrow-down | dashicons-arrow-down-alt | ||
| 〇 | arrow-down-left | ||||
| 〇 | arrow-down-right | ||||
| 〇 | 〇 | arrow-left | dashicons-arrow-left-alt | ||
| 〇 | 〇 | arrow-right | dashicons-arrow-right-alt | ||
| 〇 | 〇 | arrow-up | dashicons-arrow-up-alt | ||
| 〇 | arrow-up-left | ||||
| 〇 | arrow-up-right | ||||
| 〇 | asterisk | dashicons-marker | |||
| 〇 | at-symbol | ||||
| 〇 | 〇 | audio | dashicons-format-audio | ||
| 〇 | 〇 | bell | dashicons-bell | ||
| 〇 | 〇 | block-default | dashicons-block-default | ||
| 〇 | block-meta | ||||
| 〇 | block-table | ||||
| 〇 | brush | dashicons-admin-appearance | |||
| 〇 | 〇 | calendar | dashicons-calendar-alt dashicons-calendar | ||
| 〇 | 〇 | capture-photo | dashicons-camera dashicons-camera-alt | ||
| 〇 | 〇 | capture-video | dashicons-video-alt2 dashicons-video-alt | ||
| 〇 | 〇 | cart | dashicons-cart | ||
| 〇 | 〇 | category | dashicons-category | ||
| 〇 | 〇 | caution | dashicons-warning | ||
| 〇 | 〇 | chart-bar | dashicons-chart-bar | ||
| 〇 | 〇 | check | dashicons-yes | ||
| 〇 | 〇 | chevron-down | dashicons-arrow-down-alt2 | ||
| 〇 | 〇 | chevron-down-small | dashicons-arrow-down | ||
| 〇 | 〇 | chevron-left | dashicons-admin-collapse dashicons-arrow-left-alt2 | ||
| 〇 | 〇 | chevron-left-small | dashicons-arrow-left | ||
| 〇 | 〇 | chevron-right | dashicons-arrow-right-alt2 | ||
| 〇 | 〇 | chevron-right-small | dashicons-arrow-right | ||
| 〇 | 〇 | chevron-up | dashicons-arrow-up-alt2 | ||
| 〇 | chevron-up-down | ||||
| 〇 | 〇 | chevron-up-small | dashicons-arrow-up | ||
| 〇 | 〇 | comment | dashicons-admin-comments | ||
| 〇 | 〇 | cover | |||
| 〇 | create | ||||
| 〇 | dashboard | ||||
| 〇 | 〇 | desktop | dashicons-desktop | ||
| 〇 | 〇 | download | dashicons-download | ||
| 〇 | drawer-left | ||||
| 〇 | drawer-right | ||||
| 〇 | 〇 | envelope | dashicons-email dashicons-email-alt dashicons-email-alt2 | ||
| 〇 | 〇 | error | dashicons-dismiss | ||
| 〇 | 〇 | external | dashicons-external | ||
| 〇 | file | ||||
| 〇 | 〇 | gallery | dashicons-format-gallery | ||
| 〇 | group | ||||
| 〇 | 〇 | heading | dashicons-heading | ||
| 〇 | 〇 | help | dashicons-editor-help | ||
| 〇 | 〇 | home | dashicons-admin-home | ||
| 〇 | 〇 | image | dashicons-format-image | ||
| 〇 | 〇 | info | dashicons-info dashicons-info-outline | ||
| 〇 | 〇 | key | dashicons-admin-network | ||
| 〇 | 〇 | language | dashicons-translation | ||
| 〇 | 〇 | link | dashicons-admin-links dashicons-format-links | ||
| 〇 | 〇 | map-marker | dashicons-location dashicons-location-alt | ||
| 〇 | media | dashicons-admin-media | |||



コメントを残す