boxuk/boxuk-base-wp-plugin

This package is abandoned and no longer maintained. No replacement package was suggested.

Installs: 1 179

Dependents: 0

Suggesters: 0

Security: 0

Stars: 3

Watchers: 5

Forks: 0

Type:wordpress-plugin

v0.4.0 2021-10-26 12:29 UTC

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.

GPLv2 License

WP-CLI

We provide the following useful WP-CLI commands:

  • wp i18n-twig make-pot - which is an extension of wp i18n to add twig support to the make-pot command (only available if timber and twig is installed)
  • wp scaffold boxuk-mu-plugin - which is an extension of wp scaffold to add support for scaffolding an opinionated mu-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

License

GPLv2