cinnamonlab / blade
The Simple Framework.
Requires
- php: >=5.3.0
- cinnamonlab/framework: dev-master
This package is not auto-updated.
Last update: 2025-04-30 13:20:17 UTC
README
Brings Laravel's great template engine, Blade, to WordPress. Just install and start using blade in your theme.
Blade is the template engine for Laravel, a very popular php framework, developed by Taylor Otwell. This plugin brings the same template engine to WordPress. Using a template engine will result in much cleaner template files and quicker development. Normal php can still be used in the template files. The plugin also adds a WordPress specific snippet to blade. Check out the examples for more info.
WordPress Repository: Blade
Blade Tutorial on YouTube: Video Tutorial
Echo/Print
// Normal <?php echo $foo; ?> // Blade {{ $foo }}
Post Data
// Normal <?php the_title(); ?> // Blade {{ the_title() }}
If Statements
Normal
<?php if( has_post_thumbnail() ) : ?> <?php the_post_thumbnail() ?> <?php else: ?> <img src="<?php bloginfo( 'stylesheet_directory' ) ?>/images/thumbnail-default.jpg" /> <?php endif; ?>
Blade
@if( has_post_thumbnail() ) {{ the_post_thumbnail() }} @else <img src="{{ bloginfo( 'stylesheet_directory' ) }}/images/thumbnail-default.jpg" /> @endif
WordPress Loop
Normal
<ul> <?php $query = new WP_Query( array( 'post_type' => 'post' ) ); ?> <?php if ( $query->have_posts() ) : ?> <?php while ( $query->have_posts() ) : $query->the_post(); ?> <li><a href="<?php the_permalink() ?>"> <?php the_title() ?> </a></li> <?php endwhile; ?> <?php else : ?> <li><?php _e( 'Sorry, no posts matched your criteria.' ) ?></li> <?php endif; wp_reset_postdata(); ?> </ul>
Blade
<ul> @wpquery( array( 'post_type' => 'post' ) ) <li><a href="{{ the_permalink() }}">{{ the_title() }}</a></li> @wpempty <li>{{ __( 'Sorry, no posts matched your criteria.' ) }}</li> @wpend </ul>
Advanced Custom Fields
Normal
<ul> <?php if( get_field( 'images' ) ): ?> <?php while( has_sub_field( 'images' ) ): ?> <li><img src="<?php the_sub_field( 'image' ) ?>" /></li> <?php endwhile; ?> <?php endif; ?> </ul>
Blade
<ul> @acfrepeater('images') <li>{{ get_sub_field( 'image' ) }}</li> @acfend </ul>
Including Files
Files included with functions, e.g. the_header()
, will not be compiled by Blade, however the php code in the file is still executed. To include a file with blade use:
@include( 'header' )
Note that you should not type “.php”.
Layouts
master.php
<html> <div class="content"> @yield( 'content' ) </div> </html>
page.php
@layout( 'master' ) @section( 'content' ) <p>Lorem ipsum</p> @endsection
Documentation
Check out the complete Blade Documentation for more examples.
Contributing
Pull requests are highly appreciated. Feel free to report a bug, typo, enhancement or a feature you want to add to the plugin.