PhpStormでWordPressを解析する
更新日:2022/12/15
僕はWordPressでプラグインやテーマを作成するとき、リファレンスを見ながら関数を使用しています。
しかしリファレンスの説明だけでは、理解できない点が多くあります。
そこでWordPressのソースを解析して、今一つ理解できない動作を確認する方法をお伝えします。
ソースファイルを準備
まずは下のリンクからWordPressをパソコンにダウンロードします。
■ダウンロード:https://wordpress.org/download/
リンクをブラウザで開くと、ダウンロードボタンがあるので押して保存します。
zip形式でダウンロードされるので、適当な場所に解凍します。
PhpStormのプロジェクト作成
PhpStormを開き、解凍したフォルダ内に新規プロジェクトを作成します。
「既存のソースから作成」を選択します。
インデックスが作成されます。
時間がかかるので、気長に待ちます。
関数を追ってみる
インデックスが作成が終わったら、コードを自由に解析していきましょう。
例:remove_actionってどんな処理しているのか確認してみる
(1) remove_actionを検索する
メニュー:移動→シンボルを開き、関数名を入力します。
(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
関連記事
スポンサーリンク
記事の内容について
こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。