A suite of utilities to help you build great WordPress themes, without distractions.
Get startedA suite of utilities to help you build great WordPress themes, without distractions.
Get startedTrying to bring the MVC and configuration patterns from the best full stack web framework to the WordPress ecosystem.
RAD Theme Engine includes handlebars-php out of the box, and the theme configuration file makes adding custom helpers easy.
Manage all your custom post types, ACF option pages, menus, handlebars helpers and more from a single array in your config.php file.
Essential WordPress functions now only a few keystrokes away, with added parameters for more concise and readable code.
No child theme necessary. Run a few commands directly from your themes folder and start building your new theme in minutes.
RAD Theme Engine uses handlebars-php under the hood to bring Model-View-Controller (MVC) design patterns to WordPress, similar to frameworks like Laravel and Vue.
echo site()->render('my-hero',[ 'title' => 'My Cool Site', 'subtitle' => 'Welcome to my website!', 'posts' => site()->getDefaultPosts(['title','url']), 'background_image' => site()->getAssetURL('hero-bg.jpg')]);
tpl/my-hero.tpl<div class="hero" style="background: url({{background_image}})"> <h1>{{title}}</h1> <p class="subtitle"> {{subtitle}} </p> <ul class="posts"> {{#each posts}} <li> <a href="{{url}}">{{title}}</a> </li> {{/each}} </ul></div>
<?php $hero_title = 'My Cool Site'; $hero_subtitle = 'Welcome to my website!'; $hero_bg_file = 'hero-bg.jpg'; $hero_bg_url; if (file_exists(get_template_directory()."/assets/$hero_bg_file")) { $hero_bg_url = get_template_directory_uri()."/assets/$hero_bg_file"; }?> <div class="hero" style="background: url(<?= $hero_bg_url ?>)"> <h1><?= $hero_title ?></h1> <p class="subtitle"> <?= $hero_subtitle ?> </p> <ul class="posts"><?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?><li> <a href="<?= get_the_title() ?>"> <?= get_permalink(get_the_ID()) ?> </a></li><?php endwhile; else : ?><p><?php esc_html_e( 'Sorry, no posts matched your criteria.' ); ?></p><?php endif; ?> </ul></div>
Creating custom post types, options pages, and menu locations has never been easier thanks to RAD Theme Engine' centralized configuration system.
RAD Theme Engine's convenient querying functions makes fetching posts easy, no matter what kind of data you're trying to grab. Get Advanced Custom Fields, taxonomies, meta fields, thumbnails, urls, and more from a single function.
$posts = site()->getPosts([ "type" => "vehicles", "taxonomy.country" => "france,italy"], [ "title", "acf.miles", "taxonomy.country.name"]);
[ [ "title" => "2010 Ferrari 458 Italia", "miles" => 13802, "country" => [ [ "name" => "Italy" ] ] ], [ "title" => "2019 Renault Alpine A110 Légende GT", "miles" => 3211, "country" => [ [ "name" => "France" ] ] ], ...]