Museum for WordPress is a WordPress plugin that facilitates the operation of an online museum. It is a full-featured museum management system that is tightly integrated into the powerful and user-friendly WordPress software. It is desiged to operate seamlessly with any WordPress theme, while also giving administrators and authors full power to customize the appearance of museum objects.
Administrators create museum objects with custom fields and built-in image galleries. Collections display associated objects. The appearance of objects and collections is fully configurable through the WordPress customization API, and they can be integrated into posts and pages throughout the site with widgets and Gutenberg blocks.
Using the Museum Remote plugin, other WordPress sites can embed collections from a central Museum for WordPress site using the WordPress REST API.
To install Museum for WordPress, unzip the latest release in your WordPress plugins directory or upload the release zip through the WordPress plugin installer.
To install the Museum Remote plugin, download the latest Museum Remote release and unzip in your WordPress plugins directory or through the WordPress plugin installer.
- PHP 7.0+
Museum for WordPress is under active development. Below are the main target features up to the 1.0 release.
- Import and export of museum object kinds ( via JSON ).
- Default kind for new installations.
- Allow administrators to write documentation for contributors.
- React-based quick browse system for collection editors.
- Allow administrators to write documentation for visitors.
- Sidebar widgets for navigating collections.
- Support for localization on admin side.
- Dublin core / oai-pmh support.
- Out-of-the-box compatibility with popular themes.
- Optimization, coding standards, developer documentation.
- Multilingual support. (Pending Gutenberg Phase 4.)
For detailed roadmap see the project page.
The local environment runs on Docker Compose, orchestrated through npm run
scripts. Lando is still supported as an alternative; both share config via
symlinks from .lando/ into docker/.
cp .env.example .envand setWP_HOMEto the URL your browser will hit (e.g.http://localhost:8080, orhttp://<host>.<tailnet>.ts.net:8080for remote development over Tailscale).npm run setup— generates self-signed certs, builds the container image, starts services, installs dependencies, builds assets, downloads WordPress, and bootstraps both dev and test sites.
npm run up/npm run down— start/stop servicesnpm run shell— bash inside the dev containernpm run wp -- <args>— WP-CLInpm run test— PHPUnit with automatic test-site resetnpm run test:e2e— Playwright end-to-end testsnpm run lint/npm run lint:fix— PHP coding standards
See CLAUDE.md for the full command reference.
All existing lando <cmd> tooling continues to work against the same config.
Museum for WordPress is developed by Mike Thicke.
Development is partially supported by the University of Toronto Scientific Instrument Collection (UTSIC) and the Dunlap Institute for Astronomy and Astrophysics.
This project is licensed under the GNU General Public License, version 2 or later.