88

I am using PHP Intelephense(version 1.3.7) which is the latest version and my VS Code is up to date There was no problem before but a few days ago, it keeps on highlighted all my wordpress function name I tried to downgrade my PHP Intelephense but the situation still exist.. Any help will be appreciate

enter image description here

CyberCatHK
  • 1,040
  • 1
  • 7
  • 10

6 Answers6

149

You have to add "wordpress" to the intelephense.stubs array setting in your VS Code settings file. This array should probably also have many other stubs listed as well. For example: ("wordpress" is at the bottom)

//  VS Code settings.json
{
    // ... other settings here ...
    "intelephense.files.maxSize": 3000000,
    "intelephense.stubs": [
        "apache",
        "bcmath",
        "bz2",
        "calendar",
        "com_dotnet",
        "Core",
        "ctype",
        "curl",
        "date",
        "dba",
        "dom",
        "enchant",
        "exif",
        "FFI",
        "fileinfo",
        "filter",
        "fpm",
        "ftp",
        "gd",
        "gettext",
        "gmp",
        "hash",
        "iconv",
        "imap",
        "intl",
        "json",
        "ldap",
        "libxml",
        "mbstring",
        "meta",
        "mysqli",
        "oci8",
        "odbc",
        "openssl",
        "pcntl",
        "pcre",
        "PDO",
        "pdo_ibm",
        "pdo_mysql",
        "pdo_pgsql",
        "pdo_sqlite",
        "pgsql",
        "Phar",
        "posix",
        "pspell",
        "readline",
        "Reflection",
        "session",
        "shmop",
        "SimpleXML",
        "snmp",
        "soap",
        "sockets",
        "sodium",
        "SPL",
        "sqlite3",
        "standard",
        "superglobals",
        "sysvmsg",
        "sysvsem",
        "sysvshm",
        "tidy",
        "tokenizer",
        "xml",
        "xmlreader",
        "xmlrpc",
        "xmlwriter",
        "xsl",
        "Zend OPcache",
        "zip",
        "zlib",
        "wordpress"
    ]
}

You can also take a look at these github issues:

drwatsoncode
  • 4,721
  • 1
  • 31
  • 45
  • 3
    This is great for WP functions/clasess support itself, if you are however still get some red highlighted functions - they may be from a plugin - so you'd need to stub or add the plugin code to the project. – jave.web Aug 08 '20 at 15:55
  • Thanks so much for this answer, I was banging my head against the wall trying to figure this out. In the VS Code settings I found the intelephense stubs by just searching on "stubs" and was able to add "wordpress" to the bottom of the list. – David Ayres Aug 11 '20 at 17:14
  • this makes my life easier, not only wordpress but other functions are understood by vscode with this – Daniel Jeney May 20 '21 at 14:40
118

The quick fix for this is simply to add WordPress to the Intelephense: Stubs list.

1: Press (Ctrl+Shift+X) to the extensions bar on the left and search for PHP Intelephense.

2: Click the settings icon of the extension and choose Extension Settings.

screenshot of extensions bar

3: Scroll down to the bottom to see the list of Stubs.

4: Click on Add Item and choose wordpress from the list.

screenshot of extensions settings menu

If the changes are not affected, try to close and reopen Vscode.

This will solve the issue with built-in WordPress Functions, However, it will not recognize any functions from installed plugins.

Adam A Allalou
  • 1,503
  • 1
  • 8
  • 8
4

Maybe I'm missing something, but I never have this problem, and I think the reason is just that I open my whole WordPress site directory in VS Code at once.

Are you opening only your theme directory?

If so it makes sense that these functions are missing since they aren't in the project.

Open the whole site and this should go away. You'll also get all your theme and plugin functions imported correctly.

jerclarke
  • 1,219
  • 1
  • 13
  • 23
0

If you load only child theme folder in vs code than it give you highlight on wordpress function. Instead of this, load whole WordPress folder in vs code. It's works for me. Thanks.

  • 1
    Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Aug 28 '23 at 13:16
-1

Adam allalou and drwatsoncode are right and they work but just a reminder, to be sure that the changes are effected, don't forget to close and open your VsCode editor again.

jovialcore
  • 601
  • 1
  • 5
  • 13
  • 1
    As well as not actually being an answer, this does not reflect my experience. – grg Jan 15 '23 at 00:01
-2

you just need to add WordPress item to the Intelephense: Stubs from the extension setting.

enter image description here

jsina
  • 4,433
  • 1
  • 30
  • 28
  • Duplicate solution with less detail than https://stackoverflow.com/a/65275602/1549818 from over a year prior – grg Jan 15 '23 at 00:00