PHPackages                             htmlburger/wpemerge-plugin - 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. htmlburger/wpemerge-plugin

ActiveWordpress-plugin[Framework](/categories/framework)

htmlburger/wpemerge-plugin
==========================

A modern WordPress starter plugin which uses the WP Emerge framework

0.17.1(4y ago)431.2k7[3 issues](https://github.com/htmlburger/wpemerge-plugin/issues)GPL-2.0-onlyJavaScriptPHP &gt;=5.5CI failing

Since May 23Pushed 4y ago7 watchersCompare

[ Source](https://github.com/htmlburger/wpemerge-plugin)[ Packagist](https://packagist.org/packages/htmlburger/wpemerge-plugin)[ Docs](https://wpemerge.com/)[ RSS](/packages/htmlburger-wpemerge-plugin/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (5)Dependencies (8)Versions (7)Used By (0)

[![WP Emerge Starter Plugin Logo](https://camo.githubusercontent.com/302a7d8adb3f2678c6ca6615247f0d2ab60a48270a7a15e5c17471a8c3d1bf1d/68747470733a2f2f646f63732e7770656d657267652e636f6d2f5f696d616765732f7770656d657267652d706c7567696e2d6c6f676f2d6261722e706e67)](http://wpemerge.com)
=========================================================================================================================================================================================================================================================================================

[](#)

[![Packagist](https://camo.githubusercontent.com/70cda5fd98d63f5c3bab22aede1c1d3bc03d3fc9aed9bd6789bc60cfe79204cb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f767072652f68746d6c6275726765722f7770656d657267652d706c7567696e2e7376673f7374796c653d666c61742d73717561726526636f6c6f72423d303336366436)](https://packagist.org/packages/htmlburger/wpemerge-plugin) [![Build](https://camo.githubusercontent.com/37e9423f718097128afc116769e9eda81f038cd845608db6c6787b489c09dda2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f68746d6c6275726765722f7770656d657267652d706c7567696e2f54657374733f7374796c653d666c61742d737175617265)](https://github.com/htmlburger/wpemerge-plugin/actions/workflows/test.yml) [![Gitter](https://camo.githubusercontent.com/9fce05fd835277f2210653c6e9b6462f4e93a01dd295f5b3856c3518e643ba01/68747470733a2f2f696d672e736869656c64732e696f2f6769747465722f726f6f6d2f6e776a732f6e772e6a732e7376673f7374796c653d666c61742d73717561726526636f6c6f72423d376430376431)](https://gitter.im/wpemerge/Lobby)

A modern WordPress starter plugin which uses the [WP Emerge](https://github.com/htmlburger/wpemerge) framework.

*This is the WP Emerge Starter Plugin project - for the WP Emerge framework please check out .*

Summary
-------

[](#summary)

- [Documentation](#documentation)
- [Development Team](#development-team)
- [Comparison Table](#comparison-table)
- [Features](#features)
- [Non-goals](#non-goals)
- [Requirements](#requirements)
- [Directory structure](#directory-structure)
- [Contributing](#contributing)

Documentation
-------------

[](#documentation)

Development Team
----------------

[](#development-team)

Brought to you by [Atanas Angelov](https://atanas.dev/) and the lovely folks at [htmlBurger](http://htmlburger.com).

Comparison Table
----------------

[](#comparison-table)

WP Emerge PluginWPBWPTView EnginePHP, Blade, Twig, anyPHPPHPRouting✔✖✖WP Admin Routing✔✖✖WP AJAX Routing✔✖✖MVC✖✔✔✖✔✖✖✔✖Middleware✔✖✖View Composers✔✖✖Service Container✔✖✖StylesheetsSASS + PostCSSCSSLESSJavaScriptES6VanillaVanillaHot reloading✔✖✖Frontend/Admin/Any Bundle✔✔✔✔✔✖¹✔✔✖²Automatic Sprite Generation✔✖✖Automatic Cache Busting✔✖✖WPCS Linting✔✖✖[Advanced Error Reporting](https://docs.wpemerge.com/#/framework/routing/error-handling)✔✖✖WP Unit Tests for your classes✔✖✖*¹ There are prepared JavaScript files but they are not processed or transpiled in any way.*

*² The JavaScript files are only minified - no transpiling is done.*

*Email any factual inaccuracies to  so they can be corrected.*

Features
--------

[](#features)

- All features from [WP Emerge](https://docs.wpemerge.com/#/framework/overview):
    - Named routes with custom URLs and query filters
    - Controllers
    - Middleware
    - PSR-7 Responses
    - View Composers
    - Service Container
    - Service Providers
    - PHP view layouts (a.k.a. automatic wrapping)
    - Support for PHP, [Blade 5.4](https://laravel.com/docs/5.4/blade) and/or [Twig 2](https://twig.symfony.com/doc/2.x/api.html) for views
- [SASS](https://sass-lang.com/) + [PostCSS](https://github.com/postcss/postcss) for stylesheets. Separate bundles are created for **front-end** and **administration** and custom bundles can be added easily.
- ES6 for JavaScript. Separate bundles are created for **front-end** and **administration** and custom bundles can be added easily.
- Pure [Webpack](https://webpack.js.org/) to transpile and bundle assets, create sprites, optimize images etc.
- [Hot Module Replacement](https://webpack.js.org/concepts/hot-module-replacement/) for synchronized browser development.
- Autoloading for all classes in your `MyApp\` namespace.
- Automatic, fool-proof cache busting for all assets, including ones referenced in styles.
- WPCS, JavaScript and SASS linting and fixing using a single yarn command.
- Single-command optional CSS package installation:
    - Normalize.css
    - Boostrap 4
    - Bulma
    - Foundation
    - Tachyons
    - Tailwind CSS
    - Spectre.css
    - FontAwesome
- WP Unit Test scaffolding for your own classes.

Non-goals
---------

[](#non-goals)

- Taking over the WordPress main query.

    WP Emerge does **not** take over the main query - it actively works with it.
- Taking over WordPress routing.

    WP Emerge does **not** take over WordPress' routing - it actively works with it. The only exception to this are hardcoded URLs explicitly added by a user.
- Reinventing WordPress APIs using object-oriented interfaces.

    WP Emerge does not provide alternative APIs for registering post types, taxonomies or the like for little added benefit. Instead, it provides logical and handy places for developers to use core APIs.
- Using a third party engine by default.

    WP Emerge uses PHP by default in the same way WordPress does but with added features. Using a third party engine is entirely optional and requires installing an extension.
- Include most of Laravel or another framework.

    WP Emerge is lean and tuned for WordPress. While inspired by Laravel, it does not come with any `illuminate/*` packages. There are only 2 third party production dependencies:

    - `pimple/pimple` - The single-file PHP service container.
    - `guzzlehttp/psr7` - A PSR-7 Request and ServerRequest implementation.

Requirements
------------

[](#requirements)

- [PHP](http://php.net/) &gt;= 5.5
- [WordPress](https://wordpress.org/) &gt;= 4.7
- [Composer](https://getcomposer.org/)
- [Node.js](https://nodejs.org/en/) &gt;= 12
- [Yarn](https://yarnpkg.com/en/) or NPM

Directory structure
-------------------

[](#directory-structure)

```
wp-content/plugins/your-plugin
├── app/
│   ├── helpers/              # Helper files, add your own here as well.
│   ├── routes/               # Register your WP Emerge routes.
│   │   ├── admin.php
│   │   ├── ajax.php
│   │   └── web.php
│   ├── src/                  # PSR-4 autoloaded classes.
│   │   ├── Controllers/      # Controller classes for WP Emerge routes.
│   │   ├── Routing/          # Register your custom routing conditions etc.
│   │   ├── View/             # Register your view composers, globals etc.
│   │   ├── WordPress/        # Register post types, taxonomies, menus etc.
│   │   └── ...
│   ├── config.php            # WP Emerge configuration.
│   ├── helpers.php           # Require your helper files here.
│   ├── hooks.php             # Register your actions and filters here.
│   └── version.php           # WP Emerge version handling.
├── dist/                     # Bundles, optimized images etc.
├── languages/                # Language files.
├── resources/
│   ├── build/                # Build process configuration.
│   ├── fonts/
│   ├── images/
│   ├── scripts/
│   │   ├── admin/            # Administration scripts.
│   │   └── frontend/         # Front-end scripts.
│   ├── styles/
│   │   ├── admin/            # Administration styles.
│   │   ├── frontend/         # Front-end styles.
│   │   └── shared/           # Shared styles.
│   └── vendor/               # Any third-party, non-npm assets.
├── vendor/                   # Composer packages.
├── views/
│   ├── layouts/
│   └── partials/
├── screenshot-1.png          # Plugin screenshot.
├── wpemerge                  # WP Emerge CLI shortcut.
├── wpemerge.php              # Bootstrap plugin.
└── ...

```

### Notable directories

[](#notable-directories)

#### `app/helpers/`

[](#apphelpers)

Add PHP helper files here. Helper files should include **function definitions only**. See below for information on where to put actions, filters, classes etc.

#### `app/src/`

[](#appsrc)

Add PHP class files here. All clases in the `MyApp\` namespace are autoloaded in accordance with [PSR-4](http://www.php-fig.org/psr/psr-4/).

#### `resources/images/`

[](#resourcesimages)

Add images for styling here. Optimized copies will be placed in `dist/images/` when running the build process.

#### `resources/styles/frontend/`

[](#resourcesstylesfrontend)

Add .css and .scss files to add them to the front-end bundle. Don't forget to `@import` them in `index.scss`.

#### `resources/styles/admin/`

[](#resourcesstylesadmin)

The admin styles directory which works identically to the `resources/styles/frontend/` directory.

#### `resources/scripts/frontend/`

[](#resourcesscriptsfrontend)

Add JavaScript files here to add them to the frontend bundle. The entry point is `index.js`.

#### `resources/scripts/admin/`

[](#resourcesscriptsadmin)

The admin scripts directory which works identically to the `resources/scripts/frontend/` directory.

#### `views/`

[](#views)

1. `views/layouts/` - Layouts that other views extend.
2. `views/partials/` - Small snippets that are meant to be reused throughout other views.
3. `views/` - Full page views that may extend layouts and may include partials.

Avoid adding any PHP logic in any of these views, unless it pertains to layouting. Business logic should go into:

- Helper files (`app/helpers/*.php`)
- Service classes
- [WP Emerge Controllers](https://docs.wpemerge.com/#/framework/routing/controllers)

Contributing
------------

[](#contributing)

WP Emerge Starter Plugin is completely open source and we encourage everybody to participate by:

- Reviewing `.github/CONTRIBUTING.md`.
- ⭐ the project on GitHub ()
- Posting bug reports ()
- (Emailing security issues to  instead)
- Posting feature suggestions ()
- Posting and/or answering questions ()
- Submitting pull requests ()
- Sharing your excitement about WP Emerge with your community

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94% 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 ~173 days

Total

5

Last Release

1493d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/336248db7ed8822f03252c68698723130503a82c6d291ff24c7b17edaa3c8226?d=identicon)[atanas.angelov.dev](/maintainers/atanas.angelov.dev)

---

Top Contributors

[![atanas-dev](https://avatars.githubusercontent.com/u/22746396?v=4)](https://github.com/atanas-dev "atanas-dev (63 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (4 commits)")

---

Tags

pluginwordpresswpemergestarter plugin

### Embed Badge

![Health badge](/badges/htmlburger-wpemerge-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/htmlburger-wpemerge-plugin/health.svg)](https://phpackages.com/packages/htmlburger-wpemerge-plugin)
```

###  Alternatives

[justcoded/wordpress-theme-framework

Lightweight theme framework base with Model-View concept for developers who want to better organize their own custom themes.

264.1k2](/packages/justcoded-wordpress-theme-framework)[alleyinteractive/pest-plugin-wordpress

WordPress Pest Integration

263.7k1](/packages/alleyinteractive-pest-plugin-wordpress)

PHPackages © 2026

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