Developer guide
How PeoplePress is put together and where to hook into it.
This area is still changing. Steps and screenshots may lag behind the current release.
PeoplePress is a modular WordPress plugin: a small bootstrap layer, a service container, and a set of modules that register themselves against a defined lifecycle. Addons are not a special case — they register a module the same way the twelve core modules do.
Start with the architecture, which covers boot order and where each piece of the system is wired up.
Conventions
These are enforced by the project's coding standards, and matching them is the fastest way to get an addon reviewed:
- Classes are prefixed
PP_, functionspp_. - Class files are named
class-{lowercase-name}.php; function filespp-{name}-functions.php. - The namespace root is
PeoplePress\, mapped tosrc/. - Every PHP file opens with
defined( 'ABSPATH' ) || exit;.
Reference material
The REST namespace is peoplepress/v1; controllers extend WP_REST_Controller
and are registered from a module's rest_api_init(). Full route reference is
not written yet — see data/topics.yml in the content repository for the
backlog.