Download the PHP package akirk/wp-app without Composer
On this page you can find all versions of the php package akirk/wp-app. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package wp-app
Short Description A framework to build frontend apps on WordPress with routing, admin bar integration, and theme isolation
License GPL-2.0-or-later
Informations about the package wp-app
WpApp Framework
A framework to build frontend apps on WordPress with routing, admin bar integration, and theme isolation.
Requirements
Quick Start
Scaffold a new plugin with one command:
Which gives you this little wizard:
Which gives you something like this:
The WP Apps Site
Visit wpapps.kirk.at for a visual introduction to the WP Apps concept and a catalog of apps you can run on your own WordPress, including a travel app, a cookbook, and a family wiki.
Try it Now
The examples are available in the wp-app-examples repository. Try them instantly in your browser with WordPress Playground:
- Minimal App - The simplest possible WpApp
- Community App - Full-featured example with database, REST API, and admin integration
Why WordPress for Web Applications?
WordPress isn't just for blogs. It's a powerful foundation for web applications.
For developers:
- Built-in User Management - Authentication, roles, and permissions out of the box
- Admin Interface - Professional backend without building from scratch
- Security & Updates - Automatic security patches and proven practices
- Global Ready - Built-in i18n and multisite support
For users:
- Universal Hosting - Deploy anywhere WordPress runs, from shared hosting to cloud
- Familiar Environment - Manage your app alongside your existing WordPress site
Features
- URL Routing - Pattern-based routing with WordPress rewrite rules
- Theme Isolation - Clean HTML output separate from your WordPress theme
- Admin Bar Integration - WordPress-style navigation for your app
- Admin Color Scheme Tokens - CSS variables from each user's WordPress admin color profile
- Access Control - WordPress capability-based authentication
- Offline PWA Support - App-scoped manifests and service workers for installable apps
- BaseApp Pattern - Structured architecture for complex applications
- BaseStorage Pattern - Database abstraction with schema management using
dbDelta
Local Development
Run your plugin locally without a full WordPress installation:
This starts a local WordPress instance with your plugin mounted and activated.
Documentation
| Topic | Description |
|---|---|
| Getting Started | Installation, quick start, template functions |
| Configuration | All configuration options |
| Routing | URL patterns, parameters, templates |
| Masterbar | Admin bar customization |
| Access Control | Capabilities, roles, permissions |
| Offline PWA Support | Installable apps, manifests, service workers, and offline caching |
| BaseApp Pattern | Structured architecture for larger apps |
| Client-Side Encryption | Browser encryption runtime and encrypted-field app pattern |
| Abilities | Exposing your app to assistants, automation and other apps — and designing abilities worth calling |
| Tutorial | Step-by-step guide from minimal to full-featured |
Claude Code Integration
Get AI assistance for WpApp development in Claude Code:
Examples
Minimal Example
See the minimal-app example — the simplest possible WpApp (3 lines of code).
Community App Example
See the community-app example — a full BaseApp pattern demonstration with:
- BaseStorage with schema management
- User progress tracking
- REST API endpoints
- Admin integration
Manual Installation
The simplest possible WpApp requires just 3 lines:
Create templates/index.php:
Your app is now available at /minimal!
App-scoped assets
When wp_app_enqueue_style(), wp_app_enqueue_script(), wp_app_add_inline_style(), or wp_app_add_inline_script() receive an app scope, the asset is attached to that app's scoped hook. This prevents assets from one WpApp from printing in another WpApp.
You can also pass an explicit app scope when registering assets before render time:
Use [ 'app' => 'global' ] for framework-level assets that should print for every WpApp.
Keep CSS and JavaScript in asset files and load them with the scoped enqueue helpers. Avoid writing inline <style> or <script> blocks, style attributes, and event-handler attributes in templates. For dynamic values, use HTML data attributes that an external script can read.
App themes
Apps and add-on plugins register themes with their own template directories on
the app-specific initialization filter. This runs on WordPress init, when it
is safe to translate the theme name:
WpApp adds a Themes submenu to the app's masterbar and remembers the current user's selection. The selected theme's templates take priority, while missing templates fall back to the app's regular template directory. See App Themes for add-on registration and theme-specific asset hooks.
Requirements
- PHP 7.4 or higher
- WordPress 5.0 or higher
Tests and Coding Standards
Run the test suite and WordPress coding standards checks:
License
GPL-2.0-or-later