開発者が重宝するプラグイン「Debug Bar」

開発者が重宝するプラグイン「Debug Bar」Debug Bar」は、その名の通り、プラグインなどのデバッグに適したプラグインで、エラー、警告、注意メッセージの確認、SQLクエリーの確認が出来る。

十分な情報を得るためには、をかもとさんの書かれた記事、「WordPress 開発に便利なプラグイン Debug Bar」にもあるように「wp-config.php」に記述を追加する必要があるが、「SAVEQUERIES」、「WP_DEBUG」は、下手に常時有効にする訳にはいかないため、どちらかと言えば、評価環境で使った方が良いプラグインと言える。

また、「Debug Bar」は、フロントエンドや管理画面の上部に表示される「管理バー」から実行するタイプであるため、使用する場合は、管理バーを表示させておく必要がある。

Debug Bar

よって、管理バーが苦手な方には向かないかもしれない。

しかし、「Debug Bar」の機能はこれだけではなく「Debug-Bar-Extender」、「Debug Bar Query Tracer」、「Debug Bar Console」と言ったプラグインで機能を強化できる。

「Debug-Bar-Extender」については、jim912さんが書かれた「Debug BarとDebug-Bar-ExtenderでWordPressのパフォーマンスチェック」という記事が参考になる。

「Debug Bar Query Tracer」は、使っていないため、機能についてはよく分からない。

私が重宝しているのが、「Debug Bar Console」で、このプラグインをインストールすると、PHPやSQLスクリプトを実行できるコンソールが追加される。

もっぱら、PHPプログラムの実行テストに使用しているが、このコンソールは良く出来ており、ちょっとした検証程度のことならここで出来てしまう。

例えば、プラグインなどで定義されたものを含め、WordPressの関数も実行できる。

下記の例では、get_posts()関数を使って最近の10件の記事を取り出している。

$posts = get_posts(array('numberposts'=>10));
foreach($posts as $post) {
	echo($post->post_content);
}

左側に入力したスクリプトの実行結果はコンソール右側に表示される。

Debug Bar Consoleでの実行例1

ただし、実行結果を表示する部分は、ブラウザとして機能するため、実行結果にHTMLタグが含まれる場合は、タグは処理されてしまう。

上記の例であれば、エスケープする処理を加えれば、タグも確認できる。

$posts = get_posts(array('numberposts'=>10));
foreach($posts as $post) {
	echo(esc_html($post->post_content));
}

WordPressがグローバルスコープで定義している変数を使用する場合は、Global宣言が必要となる。つまりスコープが異なる。

下記は、WordPressの変数$localeを使用する場合の例である。

global $locale;
echo($locale);

同じ要領でプラグインが定義している変数も取得できる。

管理バー自体は、WordPressの管理画面以外にフロントエンドでも表示できるが、投稿ページでコンソールを開こうが、アーカイブページで開こうが、このコンソールは、管理画面の一部として機能する。

つまりis_admin()は、常にtrueを返す。

従って、現在のページの記事やコメントを取得すると言った事は出来ないが、IDで指定して取得する方法もあるので、全く不可能ではない。

万能ではないが、癖さえ理解してしまえば、「Debug Bar Console」は、かなり使えるツールになるはずだ。



WordPress, ネット・PC, Permalink