18:07array_unshiftplugin_action_linksplugin_action_links_(plugin_file_name)plugin_basenameTweetPocketプラグインごとでメニュー項目が異なるWordPressのプラグインメニューで、インストールしているプラグインごとにメニューが違うことに気付く。・∀・)イイ!!自分のプラグインにも実装したいなと思い調査を開始。plugin_action_linksフィルターフック探したらやっぱりあったフィルターフック。plugin_action_linksというフィルターフックを発見しました。これにフックさせればいいのか。プラグインのコンストラクタで以下のように記述。);よし、次は関数を作ろう。plugin_action_linksフィルターフックの引数WordPressのコアファイルを見ると、どうやら第一引数に「有効化/停止」と「編集」リンクの内容を渡している模様。ダンプして中身を見てみます。$links;}すると、以下のような情報を取得できました。(length=167)なるほど、ではこの配列に「設定」リンクを追加してreturnしてあげれば良いのか......と思ったのですが、plugin_action_linksフィルターフックだと、全てのプラグインをフックしてしまうことが判明。これは、関数内で自分のプラグインの設定だった〜というような分岐を入れるかと考えたのですが、さすがWordPress。あった、プラグインごとにフックさせることができるフィルター。plugin_action_links_(plugin_file_name)でフィルターフックplugin_action_linksフィルターフックにプラグインファイル名を指定することで、実現できるplugin_action_links_(plugin_file_name)というフィルターフックが存在しました。いうことで、あらためて、コンストラクタにフィルターフックを定義。)でプラグインファイル名を取得して文字列結合します。これで、自分のプラグインのときにだけフックしてくれるようになりました。関数で「設定」リンクをセットでは、あらためて関数で設定リンクを実装します。関数を以下のように設定しました。$links;}2行目:変数に管理画面の設定画面のリンク文字列を生成します。(xxxxxx.phpの箇所は任意です)3行目:生成したURLをa要素に設定しています。(エスケープしましょう)4行目:配列に追加しています。「設定」は先頭に出したいので、array_unshiftメソッドで先頭に追加。5行目:値を追加した配列をリターン。これで確認してみると......できた!\(^o^)/他のプラグインにも実装しよう。WordPressはあらゆるところにフックポイントを持っているので、コアを触らず解決するところがステキだ。「株式会社まなびと」の代表取締役はじめました。宮崎県で活動するフロントエンドエンジニア。フロントエンド業の傍らWordPressのプラグイン開発や公式テーマレビュー、Webマーケティングやプログラミング教室の講師などのいろいろなお仕事をしてます。JSerでPHPer。