This project is now abandoned. If you're interested in taking it over, get in touch. For alternatives, we'd recommend looking at WordPress' create block package. Though it differs from the functionality this packages provides, it's provided to support a more modern way of developing WordPress features.
A WordPress plugin that includes a number of things to help us work on WordPress projects.
We provide the following useful WP-CLI commands:
wp i18n-twig make-pot
- which is an extension ofwp i18n
to add twig support to themake-pot
command (only available if timber and twig is installed)wp scaffold boxuk-mu-plugin
- which is an extension ofwp scaffold
to add support for scaffolding an opinionatedmu-plugin
The plugin is registered with the container from the Box UK WP Project Skeleton via an extension within src/DependencyInjection
this works just like Symfony bundles, for information in the Symfony docs.
Added support for tagging services in order to decouple hooks from the service, e.g.
services:
_defaults:
autowire: true
autoconfigure: true
BoxUk\Mu\Plugins\MyPlugin\MyService:
tags:
- { name: 'wp_hook', action: 'init', method: 'something_to_do_on_init' }
action
can be replaced with filter
when using a filter. priority
and accepted_args
also supported.
We wrap database query access in repository classes for an easier abstraction dealing with querying the database. This follows a loose repository pattern.
There is a helper you can use when developing with feature flags which will allow you to configure flags in yaml. Usage is as follows:
boxuk_container()->get('BoxUk\Plugins\Base\FeatureFlag\FeatureFlagManager')->register_from_yaml(
__DIR__ . '/flags.yaml' );
It's useful to allow a phased approach to enabling gutenberg across a site. This helper will allow you to use tags in order to 'turn on' gutenberg for select posts easily.
Provides a number of security enhancements by default:
- Remove users endpoints from the REST API
- 404s author queries to protect against author enumeration
- Sets X-Frame-Options header to SAMEORIGIN to protect against clickjacking