/** * @return \Twig_Environment */ public function get_twig() { $loader = $this->get_loader(); $params = array('debug' => WP_DEBUG, 'autoescape' => false); if (isset(Timber::$autoescape)) { $params['autoescape'] = Timber::$autoescape; } if (Timber::$cache === true) { Timber::$twig_cache = true; } if (Timber::$twig_cache) { $twig_cache_loc = apply_filters('timber/cache/location', TIMBER_LOC . '/cache/twig'); if (!file_exists($twig_cache_loc)) { mkdir($twig_cache_loc, 0777, true); } $params['cache'] = $twig_cache_loc; } $twig = new \Twig_Environment($loader, $params); if (WP_DEBUG) { $twig->addExtension(new \Twig_Extension_Debug()); } $twig->addExtension($this->_get_cache_extension()); $twig = apply_filters('twig_apply_filters', $twig); $twig = apply_filters('timber/twig/filters', $twig); $twig = apply_filters('timber/twig/escapers', $twig); $twig = apply_filters('timber/loader/twig', $twig); return $twig; }