WordPress Stubs
This package is a fork of giacocorsiglia/wordpress-stubs.
It provides stub declarations for WordPress
core functions, classes and interfaces, globals are not included.
These stubs can help plugin and theme developers leverage static analysis tools
like PHPStan,
which is not able to parse WordPress as it is not OOP code.
The stubs are generated directly from the source using giacocorsiglia/stubs-generator.
Requirements
- PHP >=7.1
- Sodium PHP extension as latest WordPress core uses it and compat code is removed from stubs,
Sodium is included in PHP from version 7.2, in 7.1 issue
pecl install libsodiumor install theparagonie/sodium_compatpackage - For PHP <7.3 install the
symfony/polyfill-php73as development dependency
Installation
Require this package as a development dependency with Composer.
composer require --dev php-stubs/wordpress-stubsAlternatively you may download wordpress-stubs.php directly.
Usage with PHPStan
composer require --dev szepeviktor/phpstan-wordpressThe package szepeviktor/phpstan-wordpress
depends on phpstan/phpstan and this one.
Please do read
that package's README
and see the example directory over there.
Usage with Psalm
Update your Psalm config to include this section.
<stubs>
<file name="vendor/php-stubs/wordpress-stubs/wordpress-stubs.php" />
</stubs>Furthermore ensure WordPress core is not included in <projectFiles>.
Usage in Intellisense
If your IDE has trouble parsing all of WordPress you may find the stubs useful for enabling code completion and related features. For example there are instructions for usage with VSCode's Intelephense extension.
Versioning
This package is versioned to match the WordPress version from which the stubs are generated.
Generating stubs for a different WordPress version
- Run modern PHP version
- Clone this repository and
cdinto it - Update
"johnpbloch/wordpress": "x.x.x"incomposer.jsonwith the desired version - Run
composer update - And run
./generate.sh
The wordpress-stubs.php file should now be updated.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
