Merchant-First Admin releasesself-updates
Reshapes wp-admin around store operations: WooCommerce on the top level, WordPress behind one door.
by Scott Massey · github.com/sukottokun/merchant-first-admin
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/sukottokun/merchant-first-admin/releases/download/v0.9.10/merchant-first-admin.zipShips its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.
Readme
Merchant-First Admin
A simple WordPress plugin that cleans up the WooCommerce dashboard to provide a more "merchant-first" user experience. Built for Woo demos.
Placement is by heuristic: if Woo or wc_ is in the name. Home opens Analytics Overview instead of the stock Home screen. Submenus are click-to-expand accordions, not hover flyouts.
You can switch between this view and the default admin view via the Merchant View control at the top of the dashboard.
Install
Download the zip from the latest release, upload it under Plugins → Add New → Upload Plugin, and activate. Or drop merchant-first-admin.php into wp-content/mu-plugins/.
New versions appear under Dashboard → Updates like any other plugin.
Two URLs to know
…/wp-admin/index.php?mfa=offreverts to the standard menu. It works per user and stays saved. There is also a "Merchant view" toggle in the admin bar.…/wp-admin/index.php?mfa=debugdumps the live$menuand$submenuas plain text. Reach for it when a menu is not where you expected.
Also, ?mfa=on and ?mfa=notices. All are administrators only. define( 'MFA_DISABLE', true ) turns it off site-wide.
Tests and linting
./tests/run.sh # menu restructure
composer install # once
composer lint # PHPCS, WordPress and Automattic VIP standards
Clean under both PHPCS and Plugin Check, with one expected finding. Plugin Check reports plugin_updater_detected because WordPress.org does not allow the Update URI header on plugins it hosts. This one is not hosted there and updates from GitHub on purpose. Putting it on WordPress.org would mean dropping the updater.
Releasing
Bump Version: and const VERSION, then:
./bin/release.sh 0.9.6
It refuses to run unless both versions match, then lints, runs the tests, builds a zip that unpacks to merchant-first-admin/, and attaches it to the release. The folder name matters. GitHub's own zipball unpacks to owner-repo-sha/, which WordPress installs as a second plugin instead of an update.
GPL-2.0-or-later.
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| v0.9.10 | Aug 30, 2026 | merchant-first-admin.zip | 1 |
| v0.9.9 | Aug 30, 2026 | merchant-first-admin.zip | 0 |
| v0.9.8 | Aug 30, 2026 | merchant-first-admin.zip | 1 |
| v0.9.7 | Aug 30, 2026 | merchant-first-admin.zip | 0 |
| v0.9.6 | Aug 30, 2026 | merchant-first-admin.zip | 0 |
| v0.9.5 | Aug 30, 2026 | merchant-first-admin.zip | 0 |
| v0.9.4 | Aug 30, 2026 | merchant-first-admin.zip | 0 |
| v0.9.3 | Aug 30, 2026 | merchant-first-admin.zip | 1 |