merkushin / wpal
Provides an abstraction layer for WordPress API
dev-main
2025-02-09 06:50 UTC
Requires
- php: >=7.3
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2025-03-23 07:25:31 UTC
README
One purpose of the library is to provide an object-oriented API for WordPress functions. Another goal is to make it easier to write "pure" unit test for a WordPress plugin.
How to use
Use ServiceFactory to get access to different WordPress services.
Here is an example:
use Merkushin\Wpal\ServiceFactory; $hooks = ServiceFactory::create_hooks(); $hooks->add_action( 'wp_enqueue_scripts', 'enqueue_frontend_scripts' ); public function enqueue_frontend_scripts() { $plugin_file = __FILE__; $assets = ServiceFactory::create_assets(); $plugins = ServiceFactory::create_plugins(); $assets->wp_enqueue_script( 'wpplugin-frontend-scripts', $plugins->plugin_dir_url( $plugin_file ) . '/assets/dist/javascript/frontend.js', [], '1.0.0', true ); }
merkushin/wpplugin
uses WPAL: https://github.com/merkushin/wpplugin/blob/main/src/Wpplugin.php