PhpStorm

WordPress

PhpStormでWordPressを解析する

更新日:2022/12/15

僕はWordPressでプラグインやテーマを作成するとき、リファレンスを見ながら関数を使用しています。
しかしリファレンスの説明だけでは、理解できない点が多くあります。

そこでWordPressのソースを解析して、今一つ理解できない動作を確認する方法をお伝えします。

 

ソースファイルを準備

まずは下のリンクからWordPressをパソコンにダウンロードします。

■ダウンロード:https://wordpress.org/download/

リンクをブラウザで開くと、ダウンロードボタンがあるので押して保存します。

WordPressダウンロード画面

zip形式でダウンロードされるので、適当な場所に解凍します。

 

PhpStormのプロジェクト作成

PhpStormを開き、解凍したフォルダ内に新規プロジェクトを作成します。

PhpStormのプロジェクト作成

「既存のソースから作成」を選択します。

けーちゃん

インデックスが作成されます。
時間がかかるので、気長に待ちます。

PhpStormインデックス作成中

 

関数を追ってみる

インデックスが作成が終わったら、コードを自由に解析していきましょう。

例:remove_actionってどんな処理しているのか確認してみる

(1) remove_actionを検索する

メニュー:移動→シンボルを開き、関数名を入力します。

phpstorm 関数の検索

(2) 関数名をダブルクリックして関数に移動します。


function remove_action( $tag, $function_to_remove, $priority = 10 ) {
    return remove_filter( $tag, $function_to_remove, $priority );
}

remove_filterを呼び出しているだけのようです。
こんどは、remove_filterを確認してみます。

(3) 関数名の上でCtrl+B

関数名の上でCtrl+Bを押すと、関数の定義に飛びます。


function remove_filter( $tag, $function_to_remove, $priority = 10 ) {
    global $wp_filter;

    $r = false;
    if ( isset( $wp_filter[ $tag ] ) ) {
        $r = $wp_filter[ $tag ]->remove_filter( $tag, $function_to_remove, $priority );
            if ( ! $wp_filter[ $tag ]->callbacks ) {
                unset( $wp_filter[ $tag ] );
            }
    }

    return $r;
}

フィルターの情報は、$wp_filterという連想配列に格納されているようです。
この配列に$tagで渡された要素があれば、フィルターを削除していますね。

 

単純なことの積み重ね

WordPressのソースコードは膨大な量です。
しかし一つ一つは単純なコードで、それが積み重なっているだけです。

PHP初心者でも理解できるので、一度ソースコードを覗いてみてはいかかでしょうか。

更新日:2022/12/15

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。