boxuk / boxuk-base-wp-plugin
Installs: 1 179
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 5
Forks: 0
Type:wordpress-plugin
Requires
- symfony/config: ^5.0
- symfony/dependency-injection: ^5.0
- symfony/yaml: ^5.0
Requires (Dev)
- phpunit/phpunit: ^7
- roots/wordpress: ^5
- symfony/dotenv: ^5.0
- wp-phpunit/wp-phpunit: ^5.4
Suggests
- timber/timber: Needed for the i18n-twig WP CLI command.
- twig/extensions: Needed for the i18n-twig WP CLI command.
- twig/twig: Needed for the i18n-twig WP CLI command.
This package is auto-updated.
Last update: 2025-01-21 16:26:27 UTC
README
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.
WP-CLI
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
DependencyInjection
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.
Hooks
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.
DB Repositories
We wrap database query access in repository classes for an easier abstraction dealing with querying the database. This follows a loose repository pattern.
Feature Flags
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' );
Gutenberg
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.
Security
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