こんばんわー!時をかけ抜けるエンジニア、石原です。
普段、CMSを導入する時にはWordPressを導入することが多いのですが、 今日は、WordPressでちょっとした機能を追加したりする時のTipsを共有します!
1. Must Use Plugins で作る
WordPressでは wp-content/mu-plugins/
というディレクトリを作成し、その中に php ファイルを設置すると自動的に読み込んでくれます。
管理画面からON/OFFの操作が必要ない、もしくはされたくない時や、そもそもアプリケーションに根深く関与する場合などには、この機能を利用して設置した方が安全に運用することが可能です。
また、DBに関与せず動かすことができるので、デプロイの際もよりシンプルになります。
https://codex.wordpress.org/Must_Use_Plugins
2. ルーターを利用する
WordPressでURLを定義する場合、固定ページをわざわざ作ったり、Rewrite API あたりを利用し、URLを定義する必要があります。
例えば、データをCSVとしてダウンロードしたいなぁとか、簡単なエンドポイントを作りたい…といった時、非常に面倒だと感じます。
そんな時、WordPressでテンプレートエンジンであるtwig
を利用するための timber
というソフトウェアがあるのですが、こちらを開発している upstatement さんが制作している routes というパッケージを利用することが多いです。
composer で インストールして、後はおもむろに書き出すのみ。非常に簡単に利用可能です。
/* functions.php */
Routes::map('myfoo/bar', 'my_callback_function');
Routes::map('my-events/:event', function($params) {
$event_slug = $params['event'];
$event = new ECP_Event($event_slug);
$query = new WPQuery(); //if you want to send a custom query to the page's main loop
Routes::load('single.php', array('event' => $event), $query, 200);
});
https://github.com/Upstatement/routes
3. デバッグ用プラグインなどを使う
便利です。
https://github.com/johnbillion/query-monitor
4. PHPStorm使う
コードジャンプとか、リファクタリングとか簡単にできます。 ブレークポイントを設定してデバッグもできるのでphp書く時はこれを利用します。 (余談ですが、sass とか pug 等もコードジャンプできたりします。)
いかがでしょうか! 簡単に紹介だけしてみましたが、他にも何か合ったら教えてください! 現場からは以上です。