Timber Snippets

October 1, 2023 ยท View on GitHub

Visual Studio Marketplace Downloads GitHub

Timber Snippets is a VS Code Extension built to speed up development workflow with the Timber + Twig framework, providing simple, reliable snippets for common Timber. methods.

All snippets are prefixed with ts (Timber Snippets).

Buy Me A Coffee

Snippets

SnippetPurpose
tsctxtRetrieve Timber Context
tsnewNew Timber Instance (Post, Menu, Term)
tsrenderSimple Timber Context Render.
tsarndrAdvanced Timber Context Render.
tsuescUniversal timnber Escaping
tsextExtend a Timber API
tsnmenuSetup a Timber Menu
tsnamenuAdvanced Timber Menu Setup
tswoosupEnable Woocommerce Theme Support for Timber
tsrouteTimber Routing

Examples

tsctxt

This snippet outputs a setup for retrieving the Timber Context, it allows two options

Usage:

tsctxt => $context = Timber::context();

tsctxt => $context = Timber::get_context();

tsnew

tsnew renders output for assigning a context key to Timber\Post(), Timber\Term(), or Timber\Menu().

tsnew => $context['post'] = new Timber\Post();

tsnew => $context['post'] = new Timber\Term();

tsnew => $context['post'] = new Timber\Menu();

tsrender

tsrender converts to the Timber::render method.

tsrender => Timber::render('example.twig', $context);

tsarndr

tsarndr converts to a more advanced Timber::render method, implementing a basis for dynamic rendering based on a components post name.

tsarnr => Timber::render( array( 'post-' . post->post_name . '.twig', 'page.twig' ), $context );

tsuesc

tsuesc converts to the standard output for universal timber escaping.

tsuesc => if( class_exists('Timber') ) { Timber::autoescape = 'html'; }

tsext

tsext is a basis for implementating a class that extends an instance of Timber.

tsext => class MySitePost extends Timber\Post

All Extension Options

tsnmenu

Simple Timber menu output.

tsnmenu => $context['primary-menu'] = new Timber\Menu( 'primary-menu' );

tsnamenu

Advanced Timber Menu Output. (Args printed above)

$args = array(
  'depth' =>
);

$context['primary-menu'] = new Timber\Menu( 'primary-menu', $args );

tswoosup

Implements Timber support for Woocommerce.

function theme_add_woocommerce_support() {
  add_theme_support("woocommerce");
}

add_action('after_setup_theme','theme_add_woocommerce_support');

tsroute

Outputs Timber Routing setup.

Routes::map('info/:name'), function($params) {
  $query =
  Routes::load('archive.php', null, $qry, 200);
});