Welcome to Pollora! This guide will help you get a working installation up and running. Pollora is a WordPress framework built on top of Laravel — it replaces WordPress's frontend templating with Laravel's Blade engine while keeping WordPress's full backend (admin, database, plugins).
- PHP 8.4 or higher (the skeleton's
composer.lockships Symfony 8, which requires it) - Composer 2.x
- MySQL 5.7+ or MariaDB 10.3+ (WordPress is loaded only on the
mysqldriver; SQLite is not supported) - Node.js and NPM (for theme asset bundling)
- DDEV (optional, for a ready-made local environment)
Pollora's version numbers follow the Laravel release it is built on, so the current line is 13.34, built on Laravel 13.34.
Two packages carry that number: pollora/pollora, the skeleton
create-project installs, and pollora/framework, which the skeleton requires.
They are tagged together, and a skeleton tag pins the framework tag of the same
number in its composer.lock — which is what create-project installs from,
whatever constraint the composer.json carries. So one version number describes
an install completely.
The current release is v13.34.1, a stable release: a plain
composer create-project pollora/pollora installs it.
Pollora offers two ways to create a project:
- The Pollora CLI (recommended)
- Composer
create-project
Both end up running the same interactive setup, which you can also run by hand.
Install the CLI globally once:
composer global require pollora/cliMake sure Composer's global vendor/bin directory is in your PATH — composer global config bin-dir --absolute prints it. Then create a project:
pollora new example-appOr let the CLI provision a full local environment with DDEV (recommended):
pollora new example-app --ddevWith --ddev, the CLI configures DDEV (WordPress project type, PHP 8.4, MariaDB 10.11), starts it, installs the project inside the container, writes the database credentials to .env, and runs the WordPress installation. Your site is then available at https://example-app.ddev.site.
| Option | Description |
|---|---|
--ddev |
Set up the project with DDEV |
--force, -f |
Force install even if the directory already exists |
--git |
Initialize a Git repository |
--branch=NAME |
Branch name for the new repository (default: main) |
--ver=VERSION |
Install a specific version or constraint (e.g. 13.34.0, ^13.34) |
--stable |
Install the latest stable release instead of the latest pre-release |
pollora new installs the latest release including pre-releases: today that is the stable v13.34.1, and a beta published after it would be picked up. Pass --stable to never get a pre-release, or --ver to pin an exact version.
composer create-project pollora/pollora example-appComposer picks the latest stable release. To try a pre-release, ask for it explicitly, e.g. "pollora/pollora:^13.34@beta".
Either command will:
- Create a new Pollora project
- Install all dependencies
- Automatically launch the LaunchPad setup process
During the setup, you'll be prompted for:
- Site URL: Your site's URL (e.g., https://example.com)
- Database Configuration:
- Host (default: localhost)
- Port (default: 3306)
- Database name
- Username
- Password
The system will test the database connection. If it fails, you'll have the option to retry with different credentials.
- Site Information:
- Site title
- Site description
- Language selection (searchable list of available languages)
- Admin Account:
- Username
- Password (minimum 8 characters)
- Search Engine Visibility:
- Option to allow or prevent search engine indexing
- Theme: the name of the theme generated from
pollora/theme-default(defaults todefault)
If you prefer to run the installation steps yourself — or need to re-run them — use the following Artisan commands:
# Configure environment
php artisan pollora:env:setup
# Install WordPress
php artisan pollora:installThese commands guide you through the same interactive setup as the automatic installation.
For automated deployments, CI/CD pipelines, or scripted setups, you can bypass the interactive prompts by passing all required options directly:
php artisan pollora:install \
--title="My Site" \
--description="A Pollora-powered site" \
--admin-user=admin \
--admin-email=admin@example.com \
--admin-password=secretpassword \
--locale=en_US \
--public=true \
--theme=defaultAvailable options:
| Option | Description |
|---|---|
--title |
Site title |
--description |
Site description |
--admin-user |
Admin username |
--admin-email |
Admin email address |
--admin-password |
Admin password (min. 8 characters) |
--locale |
Site locale (e.g. en_US, fr_FR) |
--public |
Allow search engine indexing (true or false) |
--theme |
Name of the theme to generate (defaults to default) |
--install |
Suppress informational output for automated runs |
Any option that is omitted will trigger its corresponding interactive prompt. This means you can mix CLI options and prompts — for example, provide the title and admin credentials via options while being prompted for language selection.
If you prefer the traditional WordPress installation interface, you can:
- Run the environment setup:
php artisan pollora:env:setup- Once the
.envfile is configured, visit your site's URL and follow the WordPress installation wizard.
After successful installation:
- Start the development server:
php artisan serve(or, with DDEV, just openhttps://example-app.ddev.site) - Access your site at the configured URL
- Access your WordPress admin panel at:
your-site-url/wp-admin - Verify you can log in with the admin credentials you configured
For post-installation configuration (WordPress settings, environment variables, development environments), see the Configuration guide.