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