SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
NetBeans Plugin for
     WordPress
for members of WordBench Fukuoka
           @junichi_11
はじめに

● WordPress用のプラグインはまだ十分な機能
 はないので、期待してインストールされた方には
 申し訳ないです
● こんなのあればいいのにと思いましたら、
 @junichi_11宛にリプライ飛ばしてもらえると、
 出来る限りやってみます
NetBeansのインストール

● 公式サイトからNetBeans7.3をダウンロード
 http://netbeans.org/downloads/index.html
● 7.2以前のものでは動作しません
● 全部入っていても、PHPだけでもOK(のはず?)
WordPressプラグイン

● ソースコード(github)
 https://github.com/junichi11/netbeans-wordpress-plugin
● ライセンス (NetBeans本体と同じ)
 Common Development and Distribution License (CDDL) v1.0 and GNU
 General Public License (GPL) v2

● 更新情報はREADME.mdを参照
WordPressプラグインのインストール1

● Plugin Portalからダウンロード
  http://plugins.netbeans.org/plugin/46542/php-wordpress-blog-cms

● ファイル名:てんてんぷるぷる.nbm
● NetBeansからは直接インストールできません
● NetBeans 8.0 or NetBeans 7.3.1で登録予定
  (今でも登録することは可能ですが、ビルドバー
  ジョンに依存するので、インストールできない言
  語があるためです。)
WordPressプラグインのインストール2

● ツール > オプション > プラグイン > ダウンロー
 ド済み > プラグインの追加 > nbmファイルを選
 択
プラグインの機能1

● 新規WordPressプロジェクトの作成
● Badge Iconの表示
● 重要なファイルフォルダ
● コードテンプレート
● Zip圧縮アクション(ThemeとPluginのみ)
● デバッグステータスの表示と変更
プラグインの機能2

● themesとpluginsへのショートカット
● filterとactionの関数に関するコード補完
● filterとactionの関数に関するハイパーリンク
● 新規テーマ作成アクション(Underscore)
● テンプレートファイル
プラグインの機能3

● コード補完ファイルリフレッシュアクション
 (filterとactionに関する補完ファイルをカスタマ
 イズした時の機能です。まだ詳しい説明をどこ
 にも書いていません)
新規WordPressプロジェクトの作成

● WordPressサイトからのDL&展開
 (日本語環境であればデフォルトで、日本語サイ
 トのlatest.zip)
● ローカルファイルの展開
 (デフォルトは何も設定されていません)
● これらのパスはオプションの設定で指定できま
 す
オプションの設定

● ツール > オプション > PHP > WordPress
新規WordPressプロジェクトの作成

1. プロジェクトを選択(ファイル > 新規プロジェクト
 > PHP > PHPアプリケーション)
2. 名前と場所(プロジェクト名などを設定する)
3. 実行構成(実行方法など)
4. PHPフレームワーク
 (WordPress PHP Web Blog/CMS)
新規プロジェクトの作成
新規プロジェクトの作成

● URLなのかローカルファイルなのか選択
  (ローカルファイルの方が展開は速いです)
● Set format to project
  (プロジェクトプロパティにフォーマットを設定)
● create wp-config.php
  (右側の設定内容のファイルを作成)
● 終了を押下
Badge Iconの表示

● プロジェクトの右上にアイコンが表示されます
● javascriptエディタのバグによりエラーアイコン
 が表示されています(バグレポート済:未解決)
重要なファイルフォルダ
themes,pluginsショートカット

● wp-config.phpは重要なファイルに入っていま
 す
コードテンプレート

● オプション > エディタ > コード・テンプレート
プラグインで用意したテンプレートを挿入できます
● wpgpl (GPLライセンス表記)
● wpph (プラグインヘッダ)
● 使い方は wpgpl[Tab] , wpph[Tab]
Zip圧縮アクション

● themes, pluginsの中のフォルダをzip圧縮
● zip化したいノードで右クリック
 > WordPress Zip compress
● 圧縮場所はthemes/, plugin/直下
 e.g. themes/myplugin.zip
● NetBeans本体にもZip化する機能があるので、
 場所を指定したい場合はそちらをどうぞ
デバッグステータスの表示と変更

● wp-config.php内のDEBUG値をステータス
 バー(画面の右下)に表示
● クリックすることで変更可能
filter, actionに関するコード補完

● add_filter('name', 'function_name');
● remove_filter(),add_action(),
  remove_action()
第1,2引数の補完候補を表示します
公式サイトのドキュメントをxmlにしているので、そ
こに載っているもの以外は表示されません
filter, actionに関するコード補完

● add_filter('[Ctrl + Space]', 'w[Ctrl + Space]');
● 上記のように、クォーテーション内で補完を実行
● 先頭を少しタイプすると候補が絞られます
● 引数が配列の場合は補完不可能です
filter, actionに関するコード補完
filter, actionに関するパイパーリンク

● フィルタ名と同名の関数があればそこに移動
● Ctrlを押したままフィルタ名をクリック
● 関数名も同様
新規テーマ作成アクション(Underscores)

● Underscoresのテーマを作成します
● プロジェクト右クリック > WordPress > Create
  Theme(_s)
新規テーマ作成アクション
なぜUnderscores?

● 公開されているテンプレートをさがしましたが、
 見つけたのがこれだけでした
● 人によって違うと思うので、zipファイルを指定で
 きるような機能にしようと思います
テンプレートファイル

● 新規ファイルの作成時に、WordPress用のテン
 プレートファイルを選択することができます
● 新規 > その他 > WordPress
テンプレートファイル
コード補完リフレッシュアクション

● プロジェクト 右クリック > WordPress > Code
 Completion Refresh
● 通常は何も起きません
● nbprojectフォルダに指定した形式と名前のxml
 ファイルがあるとコード補完時にそちらを読み込
 みます
コード補完リフレッシュアクション

● code-completion-action.xml
<codecompletion>
    <actions>
         <action category="">
              <name>hoge_moge</name>
              <description>hogemoge</description>
         </action>
    </actions>
</codecompletion>
https://gist.github.com/junichi11/5107917#file-code_completion_action-
xml
コード補完リフレッシュアクション

● code-completion-filter.xml
<codecompletion>
    <filters>
          <filter category="">
                <name>hoge_moge</name>
                <description>hogemoge</description>
          </filter>
    </filters>
</codecompletion>
https://gist.github.com/junichi11/5107917#file-code_completion_filter-xml
コード補完リフレッシュアクション

● プロジェクトを開くときに入っていれば、このアク
 ションを実行する必要はありません
● gistにデフォルトのテンプレートを置いておきま
 す
● xmlでactions,actionなどを使うのではなくて、
 entries, entryにすべきでしたが、そのままなの
 でいつか変更するかもしれません
コード補完リフレッシュアクション
Tips ハイパーリンクについて

● ハイパーリンクの機能はNetBeansの一般的な
 機能なので活用すると便利です
● 関数や変数の宣言に移動することができます
● 方法は同じで Ctrl + クリック
● キャレット位置の関数等の宣言へ移動は

  Ctrl + B
Tips コード補完について

● PHPDocを書くことによりIDEが型を認識します
● 補完候補を出したい場合はPHPDocを書きま
 しょう
● function宣言のすぐ上の行で/**とタイプしてエン
 ターを押せば自動的に@paramなどが作成され
 ます
Tips コード補完について

● @global
● @property
● @var
● @return
これらのタグを使うことにより、更に補完が効くよう
になります
Tips コード補完について
@global
/**
 * hoge
 * @global $wpdb wpdb
 */
function hoge() {
    global $wpdb;
    //$wpdb->[Ctrl + Space]
}
Tips コード補完について
@var
関数外の変数に対して補完候補をだすには次の
ようなコメントを書きましょう
/* @var $wpdb wpdb */
$wpdb->[Ctrl + Space]
Tips コード補完について
@property
クラスのフィールドを補完
/**
 * @property $Post Post
 */
class Foo {
    public function foo(){
      $this->Post->[Ctrl + Space]
    }
}
Tips コード補完について
@return
戻り値に対する補完
/**
 * @return Post
 */
public function bar() {
}
MyClass::bar()->[Ctrl + Space]
非公式のコミュニティの紹介
NetBeans PHP Community Council
● このコミュニティは何?
 公式でサポートされてないものをプラグインやド
 キュメントを作ってサポートしようじゃないかとい
 う集まりです
● 興味があれば下記を参照してください
 http://nbphpcouncil.org/
NetBeans PHP Community Council
● 今はYii Frameworkのサポートをしています
● 公式でなかなかサポートしてくれない機能等を
 サポートするように動いてくれるはずなので、こ
 のフレームワークのサポート頼むー、PHPに関
 するこんな機能がほしい!などがあれば投げて
 みましょう
最後に

● バグを発見した場合は、NetBeansのbugzillaで
 はなく、github issueまたは@junichi_11までお
 願いします
● 要望等も同じです
Thanks for Reading!



                          @junichi_11
ねこび〜ん by カネウチカズコ is licensed under a Creative Commons 表示-継承 2.1 日本 License.

Mais conteúdo relacionado

Mais procurados

How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2 How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2
ichikaway
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
 
Cake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテストCake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテスト
慶信 若松
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
 
php-timecopを実戦投入してみた
php-timecopを実戦投入してみたphp-timecopを実戦投入してみた
php-timecopを実戦投入してみた
Yoshio Hanawa
 

Mais procurados (20)

よりよいPHPUnitの実行方法を求めて
よりよいPHPUnitの実行方法を求めてよりよいPHPUnitの実行方法を求めて
よりよいPHPUnitの実行方法を求めて
 
How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2 How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2
 
最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
 
PHP勉強会 #51
PHP勉強会 #51PHP勉強会 #51
PHP勉強会 #51
 
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSDrupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
 
PHPの今とこれから2015
PHPの今とこれから2015PHPの今とこれから2015
PHPの今とこれから2015
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 
Cake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテストCake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテスト
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
 
concrete5デザインカスタマイズに必要なPHPの知識
concrete5デザインカスタマイズに必要なPHPの知識concrete5デザインカスタマイズに必要なPHPの知識
concrete5デザインカスタマイズに必要なPHPの知識
 
20190809
2019080920190809
20190809
 
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014 FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniter
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
 
Php+Word Press
Php+Word PressPhp+Word Press
Php+Word Press
 
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
 
Geeklog2.1新機能紹介 20140723
Geeklog2.1新機能紹介 20140723Geeklog2.1新機能紹介 20140723
Geeklog2.1新機能紹介 20140723
 
php-timecopを実戦投入してみた
php-timecopを実戦投入してみたphp-timecopを実戦投入してみた
php-timecopを実戦投入してみた
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
 

Destaque

Destaque (15)

Contact form 7レイアウト編集
Contact form 7レイアウト編集Contact form 7レイアウト編集
Contact form 7レイアウト編集
 
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考えるテーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
 
WordCamp Tokyo 2016から WordCamp Tokyo 2017へ
WordCamp Tokyo 2016から WordCamp Tokyo 2017へWordCamp Tokyo 2016から WordCamp Tokyo 2017へ
WordCamp Tokyo 2016から WordCamp Tokyo 2017へ
 
Contact Form 7 よくあるカスタマイズ
Contact Form 7 よくあるカスタマイズContact Form 7 よくあるカスタマイズ
Contact Form 7 よくあるカスタマイズ
 
WordBench 東京 とは
WordBench 東京 とはWordBench 東京 とは
WordBench 東京 とは
 
更新作業で消耗しない!Web製作者のためのWordPress公式ディレクトリ活用術
更新作業で消耗しない!Web製作者のためのWordPress公式ディレクトリ活用術更新作業で消耗しない!Web製作者のためのWordPress公式ディレクトリ活用術
更新作業で消耗しない!Web製作者のためのWordPress公式ディレクトリ活用術
 
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
 
WordPress公式テーマ登録のための5ステップ
WordPress公式テーマ登録のための5ステップWordPress公式テーマ登録のための5ステップ
WordPress公式テーマ登録のための5ステップ
 
ノンプログラマーのためのカンタンWordPressテーマ作成入門 ∼子テーマで WordPress のテーマをつくろう∼
ノンプログラマーのためのカンタンWordPressテーマ作成入門 ∼子テーマで WordPress のテーマをつくろう∼ノンプログラマーのためのカンタンWordPressテーマ作成入門 ∼子テーマで WordPress のテーマをつくろう∼
ノンプログラマーのためのカンタンWordPressテーマ作成入門 ∼子テーマで WordPress のテーマをつくろう∼
 
ノンプログラマーのためのカンタンWordPressテーマ作成入門 〜子テーマでテーマ作成&カスタマイズ〜
ノンプログラマーのためのカンタンWordPressテーマ作成入門 〜子テーマでテーマ作成&カスタマイズ〜ノンプログラマーのためのカンタンWordPressテーマ作成入門 〜子テーマでテーマ作成&カスタマイズ〜
ノンプログラマーのためのカンタンWordPressテーマ作成入門 〜子テーマでテーマ作成&カスタマイズ〜
 
ノンプログラミングWebデザイナーがWordPressをおぼえるためにやったこと 〜巨人の肩にのってみた!〜
 ノンプログラミングWebデザイナーがWordPressをおぼえるためにやったこと 〜巨人の肩にのってみた!〜 ノンプログラミングWebデザイナーがWordPressをおぼえるためにやったこと 〜巨人の肩にのってみた!〜
ノンプログラミングWebデザイナーがWordPressをおぼえるためにやったこと 〜巨人の肩にのってみた!〜
 
これからWordPressのテーマ制作をはじめる人のために 〜テーマを作って公式ディレクトリに登録しよう!〜
これからWordPressのテーマ制作をはじめる人のために 〜テーマを作って公式ディレクトリに登録しよう!〜これからWordPressのテーマ制作をはじめる人のために 〜テーマを作って公式ディレクトリに登録しよう!〜
これからWordPressのテーマ制作をはじめる人のために 〜テーマを作って公式ディレクトリに登録しよう!〜
 
デザイナーとエンジニアの境界線 〜 Are you a Designer or an Engineer? 〜
デザイナーとエンジニアの境界線 〜 Are you a Designer or an Engineer? 〜デザイナーとエンジニアの境界線 〜 Are you a Designer or an Engineer? 〜
デザイナーとエンジニアの境界線 〜 Are you a Designer or an Engineer? 〜
 
ノンプログラマーのためのWordPressテーマ作成ステップアップ術
ノンプログラマーのためのWordPressテーマ作成ステップアップ術ノンプログラマーのためのWordPressテーマ作成ステップアップ術
ノンプログラマーのためのWordPressテーマ作成ステップアップ術
 
ズルいLT 〜はじめてのライトニングトーク〜 / WP-D Week
ズルいLT 〜はじめてのライトニングトーク〜 / WP-D WeekズルいLT 〜はじめてのライトニングトーク〜 / WP-D Week
ズルいLT 〜はじめてのライトニングトーク〜 / WP-D Week
 

Semelhante a NetBeans plugin for wordpress

まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
Hideharu MATSUFUJI
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
Ayumu Kawaguchi
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
Shinpei Ohtani
 

Semelhante a NetBeans plugin for wordpress (20)

NetBeansではじめる FuelPHP
NetBeansではじめる FuelPHPNetBeansではじめる FuelPHP
NetBeansではじめる FuelPHP
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
 
Extending PostgreSQL - PgDay 2012 Japan
Extending PostgreSQL - PgDay 2012 JapanExtending PostgreSQL - PgDay 2012 Japan
Extending PostgreSQL - PgDay 2012 Japan
 
WordPressプラグイン作成入門
WordPressプラグイン作成入門WordPressプラグイン作成入門
WordPressプラグイン作成入門
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
意外と簡単 プラグイン開発超入門
意外と簡単 プラグイン開発超入門意外と簡単 プラグイン開発超入門
意外と簡単 プラグイン開発超入門
 
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
 
PHP agile test tips
PHP agile test tipsPHP agile test tips
PHP agile test tips
 
バージョン管理
バージョン管理バージョン管理
バージョン管理
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
 
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。 【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
Visual studio de debug
Visual studio de debugVisual studio de debug
Visual studio de debug
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
 
Djangoのススメ
DjangoのススメDjangoのススメ
Djangoのススメ
 
Go1.8 for Google App Engine
Go1.8 for Google App EngineGo1.8 for Google App Engine
Go1.8 for Google App Engine
 
Fluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent BitFluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent Bit
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
 

NetBeans plugin for wordpress