超高速CMS実行環境 KUSANAGI稼働中
本サイト処理速度 0.000
language

WordPressの開発を便利にするテクニック

WordPress

こんにちは

超高速WordPress仮想マシンKUSANAGIを開発している田島と申します。
今回はWordPressの開発、およびデバッグ時の便利なチップスについてご紹介いたします。

WordPressはページに応じて、MySQLに対してSQLを発行してその結果をもとにPHPがHTMLページを生成する仕組みになっています。
WordPressの開発時には今ここで表示しているページが、どういったデータを取得した結果なのかプログラマがどれだけ把握しているかが生産性と品質を上げる鍵になってきます。

しかしながら、実際に発行されているSQLは基本的にWordPressが内部的に自動的に生成して発行するので、通常可視化されているものではありません。
そこで、現在有効化しているWordPressのテーマのfunctions.phpに下記のコードを書いてみます。

add_action( 'wp', function ( $wp ) {
    global $wp_query;
    if ( WP_DEBUG ) {
        $main_request = str_replace( PHP_EOL, ' ', $wp_query->request );
        header( "WP-Main-Query: $main_request" );
    }
});

すると下記のようにブラウザのHTTPレスポンスヘッダを確認できる項目に、このページ生成の為に取得されたメインのSQLを確認することができます。

今のページでは、公開ステータスが公開済みか非公開の投稿が日付の降順で10件取得されていることが確認できます。このことから、WordPressのログイン中は非公開のページも取得の対象になっていると判断することができます。

普段WordPressで構築時にどのようなSQLが発行されているか意識することはあまりないかもしれませんが、こういったことにも気を配ることで思わぬバグの発見や、ボトルネックなどを解消することができます。

Webサイトのお悩み解決!個別相談会

WordPress等CMSで構築されたサイトを運用中(もしくはご予定)で、様々な課題をお抱えの企業Webサイトご担当者様、「技術的にはよくわからないけれどマーケティング的にも改善をしたい」等とお考えのマーケティングご担当者様、「お客様のためにWebサイトについて聞きたい」「クラウドを導入したい」等お考えのWeb制作会社様などを対象に「【法人向け】Webサイトのお悩み解決!個別相談会」を開催しています。

お客様の課題を解決するソリューション、
条件に沿ったベネフィットあるご提案を提供いたします。

ご相談・お問い合わせフォーム