PhpStormはWordPressプラグインを作るのに最高の環境かもしれない

この記事は[WebStorm/PhpStorm Advent Calendar2014](http://qiita.com/advent-calendar/2014/webstorm)、(忘れ去られた)[WordPress Advent Calendar2014](http://qiita.com/advent-calendar/2014/wordpress)の各8日目の投稿です。決して手抜きとかではありません。

WebStorm/PhpStorm使いのみなさんこんばんは。
はじめまして、@kimama1997(Hinaloe)です。名前だけでも覚えて帰ってください。

Jetbrains IDEは自分にとって高価な品々です。幸いにも最近[Studentsライセンスが使いやすくなった](http://soiya.hatenablog.jp/entry/2014/12/03/063408)ので秋ごろよりPhpStormを愛用しています。あくまでも**For educational use only**だよ!!!

いきなりですが、PhpStormにはWordPress Supportがデフォルトで搭載されています。

WPスタイルのコードスタイルが利用で来たり、テンプレートが用意されていたり、右クリックからWordPress.orgを検索できたり、自動でインクルードパスを設定で来たり(?)とプラグイン開発も便利になってます。

では今回はPhpStormで簡単なWordPressプラグインを作ってみることにします。

## 前提

- ローカルまたは[VCCW](http://vccw.cc/)にインストール済みのWP環境があること
- WordPressはもちろん最新版(4.1beta)
- PHP5.4+(今回は5.5)
- 忘れてはいけないPhpStorm(WebStorm勢の皆さんごめんなさい、今回はPhpStorm必須になります。)

## 手順

### プロジェクト作成

1. プラグインの保存場所を指定。今回はプラグインディレクトリ内に。
![ss1](https://qiita-image-store.s3.amazonaws.com/0/23997/02d49b42-44b9-b9c2-77ab-c1ce7eef1bb4.png)

2. WordPressのルートディレクトリを選択
![ss2](https://qiita-image-store.s3.amazonaws.com/0/23997/f154f5ea-9416-7120-894d-a8cf3685aab2.png)


はい。プラグインが出来上がりました。**難しいと思った?これだけだよ！**
![ss3](https://qiita-image-store.s3.amazonaws.com/0/23997/98c646f7-6384-6b82-3d2f-20b6124b9c2a.png)


ダッシュボードを開いて確認してみる
![ss4](https://qiita-image-store.s3.amazonaws.com/0/23997/752fa4a0-5726-220e-a084-756dcf81d9be.png)

ちゃんと今回のプラグインがありますね:+1:

### 中身を作る

いまの状態では何もできないDo Nothing Pluginです。とりあえずプラグインなんだからなにか出来ないとね！

と言ってもぱっと作るものが思い浮かばないので…今回は**抜粋が指定されている記事の単独ページでこのはちゃんが一番上でその抜粋を読み上げてくれるプラグイン**、どう？(説明が長い)

マスコットアプリ文化祭にも応募できたら一石三鳥じゃん!とか思って大沖さんの絵借ります!(もしダメだった場合は差し替えます)

1. まずはメタとファイル、プロジェクト名をなおす
![こんな](https://qiita-image-store.s3.amazonaws.com/0/23997/0212f56b-19ec-86ce-242e-4d5ca573e3a0.png)

2. なんとなくベースを作る(本来はちゃんとやりましょう)
![](https://qiita-image-store.s3.amazonaws.com/0/23997/d9fce5c7-aca6-14f1-722f-1cbc7b3320c0.png)
3. テキトーに実装を書く
3. サジェストが超絶便利
![ _2014-12-8_3-28-35_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/23997/2734d09b-942e-680f-2a0b-15fdc1febdbc.png)
![_2014-12-8_3-29-27_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/23997/83a96a07-200a-4e9a-5651-5f1e62e26e9e.png)
![_2014-12-8_3-29-56_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/23997/5ce0b2e5-3cdd-f102-9088-90a1204f1000.png)
ちなみにこれ、actionとfilterで候補がちゃんと分けられているのでよくある逆になってる問題も防げる。
4. それっぽいのできた！
![かんせー](https://qiita-image-store.s3.amazonaws.com/0/23997/b6d93618-a992-aae1-efaf-c8fdf4b6a985.png)
5. 有効化する
![ぽちっとな](https://qiita-image-store.s3.amazonaws.com/0/23997/3a0663d2-cc9d-fa92-70c1-faa8f9d184b5.png)


お疲れ様です。これでブログが少し可愛くなりましたね！

### みてみる

- こんな感じになった<br>
![Preview](https://qiita-image-store.s3.amazonaws.com/0/23997/26a09694-6a77-df6a-d8a7-6178dc3bfcd8.png)<br>
- あんずや他のキャラにも出来るよ！(私はあんず派です！)<br>
![Anzu Prev](https://qiita-image-store.s3.amazonaws.com/0/23997/a30957e7-f363-d040-e9d3-35e9d83e1549.png)<br>
- 記事ごとにキャラを変えたい?今回はそんな実装してないので*カスタムフィールドで選べるように改造しても*いいかもね。

### まとめ

PhpStorm使えばWPプラグイン作るのはやっぱりやりやすかったです:)
今回の成果は[GitHubにコミット](https://github.com/kimama1997/conoha-excerpt)しておきます。

さて明日は…[WordPress Advent Calendar](http://qiita.com/advent-calendar/2014/wordpress)も[WebStorm/PhpStorm Advent Calendar](http://qiita.com/advent-calendar/2014/webstorm)もどちらも枠が空いていますね。誰かいかがですか？(WebStormは空いてたら@laco0416氏が必然的に入るのかな)

----

-- マスコットアプリ文化祭参加中! --
== キャラクター使用について ==
[美雲このは](https://www.conoha.jp/blog/conoha#conoha5)、[美雲あんず](http://cloud.gmo.jp/anzu/#section07)各キャラクターガイドラインに準じて使用しています。また、これらのキャラクター画像の再使用を禁じます。©GMO Internet, Inc. プラグインを利用する際、サイト内にその旨を表記してください。
また、このプラグインには以下の著作物が含まれます。
© 2011 Microsoft Corporation, 2014 Copyright © POCKET QUERIES, © 2010 プログラミング生放送, 『[ユニティちゃんライセンス](http://unity-chan.com/download/license.html)』