MENU

wordpressPHP

PhpStormでWordPressを解析する

更新日:2021/04/13

 

僕は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初心者でも理解できるので、一度ソースコードを覗いてみてはいかかでしょうか。

 

音楽で集中力アップ!
通勤中の暇つぶしもOK!
amazon musicはスマホで
気ままに好きな音楽を聴けるのが魅力ですね♪


あなたはサラリーマン脳?

 

あなたは人の下でしか働けないというサラリーマン脳ではないですか?

まさかの時の備えは、今とは全く違う発想でないとあまり意味がありません。
また同じまさかがありますからね。

自分だけの力で収入を得られるという経験を、一度してみてください。
僕のように、あなたの人生観が大きく変わりますよ。


記事の内容について

 

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


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

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

そんなときは、ご意見もらえたら嬉しいです。

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

【お願い】

お願い

■このページのURL


■このページのタイトル


■リンクタグ