boxuk / boxuk-base-wp-plugin
Installs: 1 180
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 5
Forks: 0
Type:wordpress-plugin
pkg:composer/boxuk/boxuk-base-wp-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 i18nto add twig support to themake-potcommand (only available if timber and twig is installed)wp scaffold boxuk-mu-plugin- which is an extension ofwp scaffoldto 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