PHPackages                             leoloso/pop-app-wp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. leoloso/pop-app-wp

ActiveProject[Framework](/categories/framework)

leoloso/pop-app-wp
==================

Bootstrap a PoP Application for WordPress

v1.6.1(6y ago)2241MITPHPPHP ~7.1

Since Aug 3Pushed 6y ago2 watchersCompare

[ Source](https://github.com/leoloso/PoP-App-WP)[ Packagist](https://packagist.org/packages/leoloso/pop-app-wp)[ Docs](https://github.com/leoloso/PoP-App-WP)[ RSS](/packages/leoloso-pop-app-wp/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (10)Dependencies (7)Versions (13)Used By (0)

Bootstrap a PoP Application for WordPress
=========================================

[](#bootstrap-a-pop-application-for-wordpress)

Project to install a PoP application running on WordPress.

Install
-------

[](#install)

Via [Composer](https://getcomposer.org) and [WP-CLI](https://wp-cli.org/) (both are assumed to be installed globally):

1. Create the [WordPress database and user](https://wordpress.org/support/article/how-to-install-wordpress/#step-2-create-the-database-and-a-user)
2. Configure WordPress through environment variables:

> Copy the code below to an editor, replace all values (such as `{YOUR_SITE_DB_NAME}`) with your own values, and then either paste it on the terminal to execute, or save it in file "~/.bash\_profile" and then execute `source ~/.bash_profile`.

```
export DB_NAME={YOUR_SITE_DB_NAME} #eg: database
export DB_USER={YOUR_SITE_DB_USER} #eg: admin
export DB_PASSWORD={YOUR_SITE_DB_PASSWORD} #eg: sADF!kl9diq@#Sjfk
export DB_HOST={YOUR_SITE_DB_HOST} #eg: 127.0.0.1
export SITE_URL_WITHOUT_HTTP={YOUR_SITE_URL_WITHOUT_HTTP} #eg: localhost
export SITE_URL_WITH_HTTP={YOUR_SITE_URL_WITH_HTTP} #eg: http://localhost
export SITE_NAME="{YOUR_SITE_NAME}" #eg: "My awesome website"
export ADMIN_USER={ADMIN_USER} #eg: admin
export ADMIN_PASSWORD={ADMIN_PASSWORD} #eg: JKo$@sfjASD00w
export ADMIN_EMAIL={ADMIN_EMAIL} #eg: pedro@example.com
```

To set the SALT keys there are two alternatives:

I. Set random values through environment variable `SHUFFLE_SALT_KEYS`:

```
export SHUFFLE_SALT_KEYS=true
```

II. Set the corresponding values directly:

```
# Obtain random values from https://api.wordpress.org/secret-key/1.1/salt
export AUTH_KEY={YOUR_AUTH_KEY}
export SECURE_AUTH_KEY={YOUR_SECURE_AUTH_KEY}
export LOGGED_IN_KEY={YOUR_LOGGED_IN_KEY}
export NONCE_KEY={YOUR_NONCE_KEY}
export AUTH_SALT={YOUR_AUTH_SALT}
export SECURE_AUTH_SALT={YOUR_SECURE_AUTH_SALT}
export LOGGED_IN_SALT={YOUR_LOGGED_IN_SALT}
export NONCE_SALT={YOUR_NONCE_SALT}
```

3. Bootstrap a new project from this repo:

```
composer create-project leoloso/pop-app-wp
```

4. Wait for a few minutes ☕️😁
5. Execute `install` again to copy the WordPress must-use plugins under folder `/mu-plugins` (somehow it doesn't do it with `create-project`). `cd` into the project's folder (by default `"pop-app-wp"`) and execute:

```
$ composer install
```

6. ✅ The site is installed under:

- 👉WordPress site: `{YOUR_SITE_URL_WITH_HTTP}`
- 👉WordPress admin: `{YOUR_SITE_URL_WITH_HTTP}`/wp/wp-admin/
- 👉PoP API: `{YOUR_SITE_URL_WITH_HTTP}/api/?query=fullSchema`

### Configure application options (optional)

[](#configure-application-options-optional)

Upon installation, the Composer script will create file `config/.env` including default values for application options (passed as environment variables). You can further edit this file, or even create more specific ones (following [Symfony's Dotenv component](https://symfony.com/doc/current/components/dotenv.html)'s file hierarchy).

Installed Components
--------------------

[](#installed-components)

This bootstrapper will install the following components (for WordPress):

Coming soon...

Usage
-----

[](#usage)

Coming soon...

Credits
-------

[](#credits)

- [Leonardo Losoviz](https://github.com/leoloso)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~11 days

Recently: every ~28 days

Total

12

Last Release

2349d ago

Major Versions

v0.2.1 → v1.02019-08-03

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1981996?v=4)[Leonardo Losoviz](/maintainers/leoloso)[@leoloso](https://github.com/leoloso)

---

Top Contributors

[![leoloso](https://avatars.githubusercontent.com/u/1981996?v=4)](https://github.com/leoloso "leoloso (77 commits)")

---

Tags

appbootstrapperpopwordpresswordpresscomponentsappapplicationbootstrappopcomponent-driven design

### Embed Badge

![Health badge](/badges/leoloso-pop-app-wp/health.svg)

```
[![Health](https://phpackages.com/badges/leoloso-pop-app-wp/health.svg)](https://phpackages.com/packages/leoloso-pop-app-wp)
```

###  Alternatives

[vova07/yii2-start

Yii2-Start it's a small Yii 2 application template for your fast project start.

27111.1k7](/packages/vova07-yii2-start)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
