VS Code highlighted all my wordpress function name
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:
- Include wordpress stubs that can be enabled in intelephense.stubs #833
- [DOC]: Better way to get WordPress intellisense #2
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.
3: Scroll down to the bottom to see the list of Stubs.
4: Click on Add Item and choose wordpress
from the list.
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.
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.