状況
PHP Intelephenseの設定でIntelephense: StubsからWordPressを追加したのにACF(プラグインのAdvanced Custom Fields)のコードで未定義エラーが出る
Undefined function 'get_field' . intelephense(1010)
結論
PHP Intelephenseの設定の
Intelephense > Environment:Include Paths に
/wp-contentまでのパス/plugins/advanced-custom-fields/includes
を追加する。
詳しいやり方
1. VS Codeの左側のメニューから拡張機能をクリック
2. PHP Intelephenseの歯車のアイコンをクリックし、拡張機能の設定をクリック
3. Environment:Include Pathsという項目を探してフォームにパスを入力しOKをクリック
パス→/wp-contentまでのパス/plugins/advanced-custom-fields/includes
※私の場合すぐに反映されてエラーが消えましたが、効かない場合はVS Codeの再起動などお試しください
解決までの道のり
ググって調べたのですが関数未定義のエラーのチェックを外せみたいな記事しか見つからず(そんな怖いことできないよ><;)ChatGPT先生に泣きつきました
ChatGPT先生の回答
書いてある通りにしても解決しなかったのですが、関数を定義しているファイルへのパスを入力すれば良いっぽいことを把握。
諦めきれずにサブディレクトリを片っ端から入力してみたところ解決に至りました
ちなみにパンくずリストのプラグイン「Breadcrumb NavXT」のコードでも未定義エラーが出ていましたがこちらはプラグインのディレクトリのパスで大丈夫でした。
ChatGPT先生に報告した
開発環境は人それぞれなのでダメなパターンもあるかもしれないですが未定義エラーのチェック外す前に一度試してみても損はないかと思います!
参考サイト
そもそもWordPressのStubが登録されてなくてエラーになっている場合はこちらのサイトもあわせてチェックしてみてください
ありがとうございます