はじめに
cloud9便利です。php7.0以上の環境を作るのに一手間ありますが、ブラウザ上で開発環境が揃ってしまうのは素敵です。今回、プラグイン開発をするにあたり、使用したWordPressのPluginsをメモしておきます。
プラグインとPlugin(s)
文中に幾つかプラグイン/Plugin(s)の言葉が出てきますが、下記のように使い分けてます。
- プラグイン:自分が開発をした、便利になるはずのツール。
- Plugin(s):WordPressのプラグインディレクトリで公開されている、使うと便利になるツール。
使用した標準機能
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', true ); // Turn forced display OFF
define( 'WP_DEBUG_LOG', true ); // Turn logging to wp-content/debug.log ON
define( 'WP_POST_REVISIONS', true ); // Disables revision functionality
-
WP_DEBUG
: デバッグモードON。通常の状態はOFF。各種デバッグ機能が使えるようになる。 -
WP_DEBUG_DISPLAY
: デバッグ情報を画面に出力する。phpのNoticeなどの細かいエラーとか表示されるようになります。 -
WP_DEBUG_LOG
: ログを出力してくれます。「リダイレクトが発生して画面にログが残らない!どうしよう!?」save_post
のアクションの実行時、重宝します。error_log("ログに残したい文言");
とすることで記録されます。 -
WP_POST_REVISIONS
: 記事のリビジョン管理を止めます。
使用したPlugins
Query Monitor
SQLクエリの実行時間が実行したページで確認することができる。他のPluginでDebug Barもありますが、確認できる項目はQuery Monitorのほうが多いです。
呼び出されるフック(Hook)も確認できます。
Easy Query – WP Query Builder
WP_Queryのオプションを生成してくれるPlugin。細かいオプションの指定は有料版を購入するか、自分でマニュアルを参照しながら書いていく必要がありますが、大まかなオプション指定はできるのでマニュアルを紐解きながらWP_Queryのオプションを書かなくていいので便利です。
WP Crontrol
WordPressのcronの設定状況が確認できるPlugin。登録済みcronの即時実行ができたり、削除したりすることができる。追加することもできるが、実行内容をfunctions.php
にコードを書く必要がある。
役立つサイト
WORDPRESS PLUGIN BOILERPLATE GENERATOR
- プラグイン名
- プラグインのスラッグ
- プラグインの紹介URL
- 開発者名
- 開発者メールアドレス
- 開発者ホームページ
これらを入力するだけで、あっというまにプラグイン開発に使えるテンプレート(ボイラープレート)が生成されます。生成されるファイルが多いので最初は戸惑いますが、機能ごとでファイルが別けてあることに気づくことができれば、きれいなプラグインを作ることができると思います。
GenerateWP - User friendly tools for WordPress developers
マニュアルを読みながらコードを書くより、穴埋め項目に記入していくだけで該当するコードを生成してくれるサイト。ただ、ちょっとパラメータが多すぎ&意味分からない時があって、マニュアルを確認しながらコードを書くことになることも しばしば。ただ、ゼロの状態から作るよりは楽なので便利。
さいごに
if link is 404(broken), then set to private.
宣伝です。今回、開発したプラグインです。記事ごとに指定できるURLを、定期的にクロールします。指定URLがエラー(404, 503など)だったとき、その記事を非公開にします。
開発をしてるWebサービスのポートフォリオを整理して公開しようと思ったのですが、なんらかの理由で公開停止したWebサービスがポートフォリオから自動的に消えるといいなと思っていたのですが、Laravelでポートフォリオ用のサイトを作るのも時間コストがかかりすぎるし、WordPressで久しぶりにプラグイン開発をしようと思い、if link is 404(broken), then set to private.が出来上がりました。
もっともっと楽できるはず!
もっともっと楽に開発できると思うので、「WordPressのプラグイン開発してるとき、コレ使ってます」とかあれば教えてください!