Need help with PoP?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

225 Stars 24 Forks GNU General Public License v2.0 11.9K Commits 23 Opened issues


Monorepo of the PoP project, including: a server-side component model in PHP, a GraphQL server, a GraphQL API plugin for WordPress, and a website builder

Services available


Need anything else?

Contributors list

# 168,359
10169 commits


PoP is a monorepo containing several projects.

The GraphQL API for WordPress plugin

GraphQL API for WordPress is a forward-looking and powerful GraphQL server for WordPress.

Plugins can extend the GraphQL schema, to fetch their own data.

GraphQL By PoP

GraphQL by PoP is a CMS-agnostic GraphQL server in PHP.

PoP - set of PHP components

PoP is a set of libraries which provide a server-side component model in PHP, and the foundation to implement applications with it.

  • Website:
  • Source code:
    • Backbone: Libraries providing the architectural scaffolding.
    • Engine: The engine of the application.
    • Schema: Self-sufficient schema elements, such as directives.
    • CMSSchema: Schema elements abstracted away from the CMS through interfaces, and to be satisfied for some particular CMS.
    • WPSchema: WordPress-specific schema elements.
    • API: Packages to access the schema data through an API, including REST and GraphQL.

Site Builder (WIP)

Site Builder is a set of PHP components to build a website using PoP's component-model architecture.

Similar to WordPress, it accepts themes.

Table of Contents

  1. Setting-up the development environment
  2. Repo visualization
  3. Layer dependency graph
  4. Supported PHP features
  5. How is the GraphQL server CMS-agnostic
  6. Why are there so many packages in the repo
  7. Why a monorepo
  8. How transpiling works
  9. How scoping works
  10. Installing the GraphQL API for WordPress plugin


PSR-1, PSR-4 and PSR-12.

To check the coding standards via PHP CodeSniffer, run:

composer check-style

To automatically fix issues, run:

composer fix-style


To execute PHPUnit, run:

composer test

Static analysis

To execute PHPStan, run:

composer analyse

Previewing code downgrade

Via Rector (dry-run mode):

composer preview-code-downgrade

Report issues

Use the issue tracker to report a bug or request a new feature for all packages in the monorepo.


Please see CONTRIBUTING and CODEOFCONDUCT for details.


If you discover any security related issues, please email [email protected] instead of using the issue tracker.



GNU General Public License v2 (or later). Please see License File for more information.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.