yard / config-expander
Adds necessary security, defaults and settings to this site.
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 3
Type:package
pkg:composer/yard/config-expander
Requires
- php: >=8.2
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- 10up/wp_mock: ^0.4.2
- larastan/larastan: ^2.0
- orchestra/testbench: ^8.23
- pestphp/pest: ^2.34
- php-stubs/acf-pro-stubs: ^6.3
- szepeviktor/phpstan-wordpress: ^1.0
- yard/php-cs-fixer-rules: ^1.0
- dev-main
- v1.4.0
- v1.3.0
- v1.2.17
- v1.2.16
- v1.2.15
- v1.2.14
- v1.2.13
- v1.2.12
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- dev-feat/catch-emails-in-staging-env
- dev-dependabot/composer/composer-874f7c0eb8
- dev-feat/cache-service-provider
- dev-fix/wp-migrate-license-key-user-meta
This package is auto-updated.
Last update: 2025-12-23 15:38:06 UTC
README
This repository provides a scaffold for creating an Acorn package. For more detailed information, please refer to the Acorn Package Development documentation.
Installation
To install this package using Composer, follow these steps:
-
Add the following to the
requiresection of yourcomposer.json:{ "yard/config-expander": "*" } -
Run the following command to install the package:
composer update
You can publish the config file with:
wp acorn vendor:publish --provider="Yard\ConfigExpander\ConfigExpanderServiceProvider"
Configuration
After the configuration file has been published, you can customize the package settings by overwriting them. The location of the published configuration file is: 'web/app/themes/{theme-name}/config/yard-config-expander.php
Calling Service Providers
Service providers are defined in a configuration file yard-config-expander.php. Each provider has an enabled flag to indicate whether it should be invoked.
Example Configuration for Service Providers
$config = [ 'providers' => [ 'Yard\ConfigExpander\ACF\ACFServiceProvider' => [ 'enabled' => true, ], 'Yard\ConfigExpander\BranchViewer\BranchViewerServiceProvider' => [ 'enabled' => true, ], 'Yard\ConfigExpander\Protection\ProtectionServiceProvider' => [ 'enabled' => true, ], 'Yard\ConfigExpander\Disable\DisableServiceProvider' => [ 'enabled' => true, ], 'Yard\ConfigExpander\Cleanup\CleanupServiceProvider' => [ 'enabled' => true, ], 'Yard\ConfigExpander\Licenses\LicensesServiceProvider' => [ 'enabled' => true, ], 'Yard\ConfigExpander\LoginScreenCustomization\LoginScreenCustomizationServiceProvider' => [ 'enabled' => true, ], ] ];
Settings
Additional settings are also defined in the same configuration file yard-config-expander.php.
These settings can be customized to fit your specific needs.
$config = [ 'defaults' => [ 'admin' => [ 'AUTOMATIC_UPDATER_DISABLED' => true, 'AUTOSAVE_INTERVAL' => 900, 'DISABLE_COMMENTS' => true, 'DISABLE_POSTS' => true, 'DISALLOW_FILE_EDIT' => true, 'DISABLE_ADMIN_NOTICES_FOR_NON_ADMINS' => true, 'UNSET_ADMIN_ROLE_FOR_NON_ADMINS' => true, 'WP_CACHE' => false, ], 'api' => [ 'DISABLE_REST_API_USERS' => true, 'DISABLE_REST_API_OEMBED' => true, ], 'public' => [ 'FEEDS_ENABLED' => false, 'XMLRPC_ENABLED' => false, 'XMLRPC_ALLOWED_METHODS' => [], 'CLEANUP_HEADERS' => true, 'DISABLE_EMOJICONS' => true, ], ], ];
Plugin defaults
Considering the following section of the configuration file yard-config-expander.php:
$config = [ 'cleanup' => [ 'plugins' => [ Yard\ConfigExpander\Cleanup\Plugins\Stream::class, Yard\ConfigExpander\Cleanup\Plugins\SearchWP::class ] ] ]
The provided classes are designed to manage the settings and cleanup tasks for various plugins within a WordPress environment.
These classes must extend the common base class BaseAbstract and include methods to handle both single-site and multi-site configurations.
Hooks
The hooks are divided by sections based on the package directories.
Clean-up
Allow 'unfiltered_html' capability for administrators, superusers and editors only
add_filter('yard::config-expander/cleanup/allow-unfiltered-html', '__return_true');
Login screen customization
Overwrite the stylesheet file (URL)
add_filter('yard::config-expander/login/style-file', function(string $source) { return $source; }, 10, 1);
Overwrite the logo above the login form (URL)
add_filter('yard::config-expander/login/logo', function(string $logo){ return $logo; }, 10, 1);
Customize the URL of the anchor around the logo
add_filter('yard::config-expander/login/logo-url', function(string $logo){ return $logo; }, 10, 1);
Overwrite the title of the link (value inside the anchor)
add_filter('yard::config-expander/login/logo-name', function(string $logo){ return $logo; }, 10, 1);