管理画面用のメッセージ出力するシンプルなクラス「Nora_Notices」を作成

プラグインを作成しようとする度に毎回管理画面のメッセージを書くのが面倒になったので、とりあえず「保存しました」のようなメッセージだけでも簡単にフックさせて使えるようにしようと作成しました。
実用性に関してはまだ不明です。
ただ、毎回毎回メッセージ用に関数書いて「admin_notices」にフックさせるのって面倒だなと思いましたので、フックさせる処理を省き、フィルターを追加しました。
ええ、実際に自分で作成したプラグインには使っていませんが、次作るプラグインには使ってみようと思います。
[wpdm_package id=’2232′]
使い方
これ以上ないくらいに使い方はシンプルなクラスです。
- ファイルをインクルード
- 「Nora_Notices::register_notice( ‘メッセージはここ’, ‘updated’, $args );」をコール
といった感じで書くだけ。全て「admin_notices」にフックされますので、これだけ書いておけば読まれた分だけメッセージが出力されます。
実際にコードにしてみると、こんな感じでしょうか。
require_once( PATH_TO_YOUR . 'class-nora-notices.php' ); if( isset( $_POST[ 'your-post' ] ) ) Nora_Notices::register_notice( 'メッセージはここ', 'updated', $args );
2つ目の引数に「udpated」を使用していますが、これは緑色で更新時に使われるワードプレス標準の色です。他にも「warning」を使うと黄色、「error」を使うと赤色になります。他の値でも構いませんが、その場合は自分でCSSで「notice-your-custom-class」というクラスをスタイル付けする必要があります。
3つ目の引数はフィルター用で、実はフィルターフック「nora_admin_notice」というものを用意しており、「メッセージ」、「2つ目の引数(updatedなど)」「(編集用に)渡した変数」を受け取ることが出来ます。条件定義などに必要な値を渡してやると、柔軟なメッセージを出力できるんじゃないかと思います。
気がかりなこと
一応テストはしているのですが、Windowsで編集してアップロードしたものですので、実際にインクルードしてみると、行末(LineEnding)を統一しろというような警告が出るかもしれません。以前にもちょっと更新情報で書いたのですが、MacとWindowsでは行末のコードが異なるようで、これを統一しろと警告されたことがあるんですよ。
テーマをWindowsで編集してZIPにしてアップロードすると、リポジトリで警告が出て、アップロード失敗になっていましたから。
Windowsでも同様に編集してアップロードまでの処理をできたら良いんですが、Sublime Textに問題があるのか、それともZIPに圧縮するソフトに問題があるのか、まだ何もしていませんので、そういう問題が検知されたら教えていただけると有難いです。