🏡 index : ~doyle/koselig.git

author Jordan Doyle <jordan@doyle.wf> 2016-10-16 14:20:25.0 +00:00:00
committer Jordan Doyle <jordan@doyle.wf> 2016-10-16 14:20:25.0 +00:00:00
commit
979450a7feced5bddaa06c8cb9589118a6974776 [patch]
tree
5209463a042048d2ccf2cc00fc4a8e2d9f0f2e0b
parent
f706619ea28c763247cbf47f83f92250b1d33c36
download
979450a7feced5bddaa06c8cb9589118a6974776.tar.gz

Wordpress-related blade directives



Diff

 src/Providers/KoseligServiceProvider.php             |  3 ++-
 src/Providers/WordpressTemplatingServiceProvider.php | 38 +++++++++++++++++++++-
 2 files changed, 41 insertions(+)

diff --git a/src/Providers/KoseligServiceProvider.php b/src/Providers/KoseligServiceProvider.php
index 9a518e7..d3c31fc 100644
--- a/src/Providers/KoseligServiceProvider.php
+++ b/src/Providers/KoseligServiceProvider.php
@@ -24,6 +24,9 @@ class KoseligServiceProvider extends ServiceProvider
        $this->app->register(WordpressServiceProvider::class);
        $this->app->register(ConfigServiceProvider::class);

        // Blade service provider
        $this->app->register(WordpressTemplatingServiceProvider::class);

        // Routing service provider
        $this->app->register(RoutingServiceProvider::class);

diff --git a/src/Providers/WordpressTemplatingServiceProvider.php b/src/Providers/WordpressTemplatingServiceProvider.php
new file mode 100644
index 0000000..8fe9a3e
--- /dev/null
+++ b/src/Providers/WordpressTemplatingServiceProvider.php
@@ -0,0 +1,38 @@
<?php
namespace Koselig\Providers;

use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;

/**
 * Provide various blade directives to aid in Wordpress view development.
 *
 * @author Jordan Doyle <jordan@doyle.wf>
 */
class WordpressTemplatingServiceProvider extends ServiceProvider
{
    /**
     * Perform post-registration booting of services.
     *
     * @return void
     */
    public function boot()
    {
        Blade::directive('loop', function ($expression) {
            return '<?php if (Koselig\Facades\Query::hasPosts()): while (Koselig\Facades\Query::hasPosts()): '
                . 'Koselig\Facades\Query::post(); ?>';
        });

        Blade::directive('endloop', function ($expression) {
            return '<?php endwhile; endif; ?>';
        });

        Blade::directive('wphead', function ($expression) {
            return '<?php wp_head(); ?>';
        });

        Blade::directive('wpfooter', function ($expression) {
            return '<?php wp_footer(); ?>';
        });
    }
}