[](https://gitlab.com/wpdesk/wp-builder/pipelines) [](https://gitlab.com/wpdesk/wp-builder/commits/master) [](https://packagist.org/packages/wpdesk/wp-builder) [](https://packagist.org/packages/wpdesk/wp-builder) [](https://packagist.org/packages/wpdesk/wp-builder) [](https://packagist.org/packages/wpdesk/wp-builder) WP Builder ========== wp-builder defines interfaces and abstracts to create WordPress plugins. ## Requirements PHP 5.6 or later. ## Installation via Composer In order to install the bindings via [Composer](http://getcomposer.org/) run the following command: ```bash composer require wpdesk/wp-builder ``` ## Example usage Use this code in main WordPress plugin file: ```php <?php class ContentExtender implements \WPDesk\PluginBuilder\Plugin\Hookable { public function hooks() { add_filter( 'the_content', [ $this, 'append_sample_text_to_content' ] ); } /** * @param string $content * @return string */ public function append_sample_text_to_content( $content ) { return $content . ' Sample text'; } } class ExamplePlugin extends \WPDesk\PluginBuilder\Plugin\AbstractPlugin implements \WPDesk\PluginBuilder\Plugin\HookableCollection { use \WPDesk\PluginBuilder\Plugin\HookableParent; public function hooks() { $this->add_hookable( new ContentExtender() ); $this->hooks_on_hookable_objects(); } } $plugin_info = new WPDesk_Plugin_Info(); $plugin_info->set_plugin_name( 'Example Plugin' ); $example_plugin = new ExamplePlugin( $plugin_info ); ```