geistpress/wp-helpers

v0.1.1 2017-08-24 09:56 UTC

This package is not auto-updated.

Last update: 2024-04-27 17:58:47 UTC


README

Travis StyleCI Code Climate

Installation

$ composer require geistpress/wp-helpers

Usage

Init the Load and View Helper and register Sidebars

// Init WP-Helpers
add_action('init', function () {
    // Init Loader
    $loader = new \GeistPress\Helpers\Foundation\Loader();

    // Register all class in sidebars directory with the App\Sidebars namespace
    $loader->register(__DIR__ . '/resources/sidebars', 'App\Sidebars'); 

    // Register only the Bar class and return its instance
    $foobar = $loader->register(\Foo\Bar::class); 

    // Init Views
    \GeistPress\Helpers\Facades\View::init(__DIR__ . '/resources/views/');
});

Registerable

To register a class with the loader the class needs to implement the Registerable interface and contain a register method

namespace App\Sidebars;

use GeistPress\Helpers\Foundation\Registerable;

class HeaderBar implements Registerable
{
    /**
     * Register sidebar
     */
    public function register()
    {
        register_sidebar([
            'name'          => __('Header Bar', 'app'),
            'id'            => 'header-bar',
            'description'   => __('Top Bar above the navbar', 'app'),
            'before_widget' => '<div id="%1$s" class="widget %2$s">',
            'after_widget'  => '</div>',
        ]);
    }
}

Views

// Render /resources/views/breadcrumbs.phtml and pass the variable $current='home' to it
\GeistPress\Helpers\Facades\View::render('breadcrumbs', ['current' => 'home']);