How to Set Up WordPress in Lando for Plugin Development

Flat illustration of a developer desk with laptop running WordPress and terminal showing landowp build, representing setting up WordPress in Lando for plugin development

If you keep searching for a reliable Lando WordPress setup for plugin development, you are probably tired of rebuilding the same local environment over and over. That was my problem too. I wanted a repeatable WordPress in Lando workflow that gave me PHP, a database, and WP-CLI without the usual setup drag.

That is why I built landowp. It gives me a faster path from empty folder to working plugin environment, while still keeping the workflow simple enough to reset when I need a clean start.

Why use Lando for WordPress plugin development

Lando sits on top of Docker, but the reason I like it is not hype. It is consistency. A good Lando WordPress setup gives you:

  • repeatable PHP versions across projects
  • a database service without manual container wiring
  • easy start, stop, rebuild, and reset commands
  • WP-CLI access inside the same local stack

For WordPress plugin work, that means less environment yak shaving and more time actually building the plugin.

What landowp adds to a basic WordPress Lando workflow

landowp is a thin wrapper around the setup steps I kept repeating by hand. Instead of piecing together a Lando WordPress recipe each time, I can bootstrap the project in one flow.

  • create the local project files
  • generate the Lando configuration
  • start the services
  • download and install WordPress
  • make WP-CLI part of the normal workflow

GitHub: https://github.com/easterncoder/landowp

Prerequisites for WordPress in Lando

Before you run anything, install:

  • Docker
  • Lando

Once those are working, the rest is straightforward.

Install landowp

git clone https://github.com/easterncoder/landowp
cd landowp
chmod +x landowp
sudo mv landowp /usr/local/bin/

That gives you a global landowp command you can use from any plugin project directory.

Build a Lando WordPress environment for plugin development

Inside your plugin folder, run:

landowp build my-plugin-app

This creates the local environment, starts the services, installs WordPress, and leaves you ready to work. If what you want is “WordPress in Lando with the annoying parts already handled,” this is the whole point.

Using WP-CLI in the Lando workflow

One reason developers search for a Lando WordPress recipe that includes WP-CLI is simple: plugin work gets much easier when you can script routine tasks. With landowp, WP-CLI becomes part of the normal workflow.

landowp start
landowp stop
landowp wp plugin install query-monitor
landowp wp db reset

That is enough for most daily work. Start the stack, install what you need, reset the DB when necessary, and keep moving.

Typical daily workflow

mkdir my-awesome-plugin
cd my-awesome-plugin
landowp build plugin-dev
code .

From there it is code, refresh, test, repeat. If you care about developer experience in WordPress plugin projects, this kind of setup matters more than people admit. I wrote more about that in why developer experience matters in plugin UX. If you want the broader picture on why I still build in this ecosystem, see why I still love developing for WordPress after 25 years.

How to clean up and reset the environment

landowp purge

This removes the environment cleanly. That matters when you want a disposable local setup and do not want old containers or half-broken data lying around.

What gets created

.landowp/
  ├─ .lando.yml
  ├─ wp-cli.yml

The defaults are aimed at practical WordPress plugin development, not endless setup customization.

Why this Lando WordPress setup works

A good local environment should disappear into the background. This one does. It gives me a reliable Lando WordPress workflow, keeps WP-CLI handy, and lets me get back to building plugins instead of babysitting containers.

If you need help applying this kind of workflow to a real PHP or WordPress codebase, my PHP and AI-workflow consulting page covers the kind of work I do.