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: 2024-11-29 06:16:43 UTC
README
BoxUK WordPress Base Plugin
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