Twig \ Error \ LoaderError
The "/" directory does not exist ("/"). Twig\Error\LoaderError thrown with message "The "/" directory does not exist ("/")." Stacktrace: #11 Twig\Error\LoaderError in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-content\plugins\gantry5\compat\vendor\twig\twig\src\Loader\FilesystemLoader.php:106 #10 Twig\Loader\FilesystemLoader:addPath in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-content\plugins\gantry5\compat\vendor\twig\twig\src\Loader\FilesystemLoader.php:87 #9 Twig\Loader\FilesystemLoader:setPaths in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-content\plugins\gantry5\compat\vendor\twig\twig\src\Loader\FilesystemLoader.php:45 #8 Twig\Loader\FilesystemLoader:__construct in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-content\plugins\gantry5\vendor\timber\timber\lib\Loader.php:149 #7 Timber\Loader:get_loader in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-content\plugins\gantry5\vendor\timber\timber\lib\Loader.php:107 #6 Timber\Loader:choose_template in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-content\plugins\gantry5\vendor\timber\timber\lib\Timber.php:310 #5 Timber\Timber:compile in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-content\plugins\gantry5\vendor\timber\timber\lib\Timber.php:383 #4 Timber\Timber:fetch in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-content\plugins\gantry5\vendor\timber\timber\lib\Timber.php:410 #3 Timber\Timber:render in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-content\themes\g5_myriad\page.php:46 #2 include in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-includes\template-loader.php:106 #1 require_once in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-blog-header.php:19 #0 require in E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\index.php:17
Stack frames (12)
11
Twig\Error\LoaderError
…\compat\vendor\twig\twig\src\Loader\FilesystemLoader.php106
10
Twig\Loader\FilesystemLoader addPath
…\compat\vendor\twig\twig\src\Loader\FilesystemLoader.php87
9
Twig\Loader\FilesystemLoader setPaths
…\compat\vendor\twig\twig\src\Loader\FilesystemLoader.php45
8
Twig\Loader\FilesystemLoader __construct
…\vendor\timber\timber\lib\Loader.php149
7
Timber\Loader get_loader
…\vendor\timber\timber\lib\Loader.php107
6
Timber\Loader choose_template
…\vendor\timber\timber\lib\Timber.php310
5
Timber\Timber compile
…\vendor\timber\timber\lib\Timber.php383
4
Timber\Timber fetch
…\vendor\timber\timber\lib\Timber.php410
3
Timber\Timber render
E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-content\themes\g5_myriad\page.php46
2
include
E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-includes\template-loader.php106
1
require_once
E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\wp-blog-header.php19
0
require
E:\HostingSpaces\Eeken3\renzoalife.eu\wwwroot\index.php17
            $this->addPath($path, $namespace);
        }
    }
 
    /**
     * Adds a path where templates are stored.
     *
     * @param string $path      A path where to look for templates
     * @param string $namespace A path namespace
     *
     * @throws LoaderError
     */
    public function addPath($path, $namespace = self::MAIN_NAMESPACE)
    {
        // invalidate the cache
        $this->cache = $this->errorCache = [];
 
        $checkPath = $this->isAbsolutePath($path) ? $path : $this->rootPath.$path;
        if (!is_dir($checkPath)) {
            throw new LoaderError(sprintf('The "%s" directory does not exist ("%s").', $path, $checkPath));
        }
 
        $this->paths[$namespace][] = rtrim($path, '/\\');
    }
 
    /**
     * Prepends a path where templates are stored.
     *
     * @param string $path      A path where to look for templates
     * @param string $namespace A path namespace
     *
     * @throws LoaderError
     */
    public function prependPath($path, $namespace = self::MAIN_NAMESPACE)
    {
        // invalidate the cache
        $this->cache = $this->errorCache = [];
 
        $checkPath = $this->isAbsolutePath($path) ? $path : $this->rootPath.$path;
        if (!is_dir($checkPath)) {
    public function getNamespaces()
    {
        return array_keys($this->paths);
    }
 
    /**
     * Sets the paths where templates are stored.
     *
     * @param string|array $paths     A path or an array of paths where to look for templates
     * @param string       $namespace A path namespace
     */
    public function setPaths($paths, $namespace = self::MAIN_NAMESPACE)
    {
        if (!\is_array($paths)) {
            $paths = [$paths];
        }
 
        $this->paths[$namespace] = [];
        foreach ($paths as $path) {
            $this->addPath($path, $namespace);
        }
    }
 
    /**
     * Adds a path where templates are stored.
     *
     * @param string $path      A path where to look for templates
     * @param string $namespace A path namespace
     *
     * @throws LoaderError
     */
    public function addPath($path, $namespace = self::MAIN_NAMESPACE)
    {
        // invalidate the cache
        $this->cache = $this->errorCache = [];
 
        $checkPath = $this->isAbsolutePath($path) ? $path : $this->rootPath.$path;
        if (!is_dir($checkPath)) {
            throw new LoaderError(sprintf('The "%s" directory does not exist ("%s").', $path, $checkPath));
        }
 
    protected $paths = [];
    protected $cache = [];
    protected $errorCache = [];
 
    private $rootPath;
 
    /**
     * @param string|array $paths    A path or an array of paths where to look for templates
     * @param string|null  $rootPath The root path common to all relative paths (null for getcwd())
     */
    public function __construct($paths = [], $rootPath = null)
    {
        $this->rootPath = (null === $rootPath ? getcwd() : $rootPath).\DIRECTORY_SEPARATOR;
        if (null !== $rootPath && false !== ($realPath = realpath($rootPath))) {
            $this->rootPath = $realPath.\DIRECTORY_SEPARATOR;
        }
 
        if ($paths) {
            $this->setPaths($paths);
        }
    }
 
    /**
     * Returns the paths to the templates.
     *
     * @param string $namespace A path namespace
     *
     * @return array The array of paths where to look for templates
     */
    public function getPaths($namespace = self::MAIN_NAMESPACE)
    {
        return isset($this->paths[$namespace]) ? $this->paths[$namespace] : [];
    }
 
    /**
     * Returns the path namespaces.
     *
     * The main namespace is always defined.
     *
     * @codeCoverageIgnore
     */
    protected function template_exists( $name ) {
        return $this->get_loader()->exists($name);
    }
 
 
    /**
     * @return \Twig\Loader\FilesystemLoader
     */
    public function get_loader() {
        $open_basedir = ini_get('open_basedir');
        $paths = array_merge($this->locations, array($open_basedir ? ABSPATH : '/'));
        $paths = apply_filters('timber/loader/paths', $paths);
 
        $rootPath = '/';
        if ( $open_basedir ) {
            $rootPath = null;
        }
        $fs = new \Twig\Loader\FilesystemLoader($paths, $rootPath);
        $fs = apply_filters('timber/loader/loader', $fs, $paths, $rootPath);
        return $fs;
    }
 
 
    /**
     * @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 === true ? 'html' : 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) ) {
    }
 
    protected function delete_cache() {
        Cleaner::delete_transients();
    }
 
    /**
     * Get first existing template.
     *
     * @param array|string $templates  Name(s) of the Twig template(s) to choose from.
     * @return string|bool             Name of chosen template, otherwise false.
     */
    public function choose_template( $templates ) {
        // Change $templates into array, if needed
        if ( !is_array($templates) ) {
            $templates = (array) $templates;
        }
 
        // Get Twig loader
        $loader = $this->get_loader();
 
        // Run through template array
        foreach ( $templates as $template ) {
 
            // Remove any whitespace around the template name
            $template = trim( $template );
            // Use the Twig loader to test for existance
            if ( $loader->exists($template) ) {
                // Return name of existing template
                return $template;
            }
        }
 
        // No existing template was found
        return false;
    }
 
    /**
     * @param string $name
     * @return bool
     *
     * $team_member = Timber::compile( 'team-member.twig', $data );
     * ```
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     *                                 array, the first value is used for non-logged in visitors, the second for users.
     *                                 Default false.
     * @param string       $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
     * @param bool         $via_render Optional. Whether to apply optional render or compile filters. Default false.
     * @return bool|string The returned output.
     */
    public static function compile( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT, $via_render = false ) {
        if ( !defined('TIMBER_LOADED') ) {
            self::init();
        }
        $caller = LocationManager::get_calling_script_dir(1);
        $loader = new Loader($caller);
        $file = $loader->choose_template($filenames);
 
        $caller_file = LocationManager::get_calling_script_file(1);
        apply_filters('timber/calling_php_file', $caller_file);
 
        if ( $via_render ) {
            $file = apply_filters('timber_render_file', $file);
        } else {
            $file = apply_filters('timber_compile_file', $file);
        }
 
        $output = false;
 
        if ($file !== false) {
            if ( is_null($data) ) {
                $data = array();
            }
 
            if ( $via_render ) {
                $data = apply_filters('timber_render_data', $data);
            } else {
        $twig = $dummy_loader->get_twig();
        $template = $twig->createTemplate($string);
        return $template->render($data);
    }
 
    /**
     * Fetch function.
     *
     * @api
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     *                                 array, the first value is used for non-logged in visitors, the second for users.
     *                                 Default false.
     * @param string       $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
     * @return bool|string The returned output.
     */
    public static function fetch( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT ) {
        $output = self::compile($filenames, $data, $expires, $cache_mode, true);
        $output = apply_filters('timber_compile_result', $output);
        return $output;
    }
 
    /**
     * Render function.
     *
     * Passes data to a Twig file and echoes the output.
     *
     * @api
     * @example
     * ```php
     * $context = Timber::context();
     *
     * Timber::render( 'index.twig', $context );
     * ```
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     * Passes data to a Twig file and echoes the output.
     *
     * @api
     * @example
     * ```php
     * $context = Timber::context();
     *
     * Timber::render( 'index.twig', $context );
     * ```
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     *                                 array, the first value is used for non-logged in visitors, the second for users.
     *                                 Default false.
     * @param string       $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
     * @return bool|string The echoed output.
     */
    public static function render( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT ) {
        $output = self::fetch($filenames, $data, $expires, $cache_mode);
        echo $output;
        return $output;
    }
 
    /**
     * Render a string with Twig variables.
     *
     * @api
     * @example
     * ```php
     * $data = array(
     *     'username' => 'Jane Doe',
     * );
     *
     * Timber::render_string( 'Hi {{ username }}, I’m a string with a custom Twig variable', $data );
     * ```
     * @param string $string A string with Twig variables.
     * @param array  $data   An array of data to use in Twig template.
     * @return bool|string
     */
 * /mytheme/views/page-mypage.html.twig
 * (which will still route through this PHP file)
 * OR
 * /mytheme/page-mypage.php
 * (in which case you'll want to duplicate this file and save to the above path)
 */
 
$gantry = Gantry::instance();
 
/** @var Theme $theme */
$theme  = $gantry['theme'];
 
// We need to render contents of <head> before plugin content gets added.
$context              = Timber::get_context();
$context['page_head'] = $theme->render('partials/page_head.html.twig', $context);
 
$post            = Timber::query_post();
$context['post'] = $post;
 
Timber::render(['page-' . $post->post_name . '.html.twig', 'page.html.twig'], $context);
 
            }
 
            break;
        }
    }
 
    if ( ! $template ) {
        $template = get_index_template();
    }
 
    /**
     * Filters the path of the current template before including it.
     *
     * @since 3.0.0
     *
     * @param string $template The path of the template to include.
     */
    $template = apply_filters( 'template_include', $template );
    if ( $template ) {
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );
 
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';
 

Environment & details:

empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE Microsoft-IIS/10.0
REQUEST_URI /
_FCGI_X_PIPE_ \\\\.\\pipe\\IISFCGI-ccbaebc0-d949-45d3-bcfd-a18a1c9afe8f
PHPRC C:\\Program Files\\PHP\\v8.3\\
PHP_FCGI_MAX_REQUESTS 10000
ALLUSERSPROFILE C:\\ProgramData
APPDATA C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming
APP_POOL_CONFIG C:\\inetpub\\temp\\apppools\\ASP.NET 4.0 (Integrated)\\ASP.NET 4.0 (Integrated).config
APP_POOL_ID ASP.NET 4.0 (Integrated)
ASPNETCORE_IIS_APPLICATION_ID /LM/W3SVC/107/ROOT
ASPNETCORE_IIS_APPLICATION_VIRTUAL_PATH /
ASPNETCORE_IIS_APP_CONFIG_PATH MACHINE/WEBROOT/APPHOST/HUUBVANDEHOEF.EU
ASPNETCORE_IIS_APP_POOL_CONFIG_FILE C:\\inetpub\\temp\\apppools\\ASP.NET 4.0 (Integrated)\\ASP.NET 4.0 (Integrated).config
ASPNETCORE_IIS_APP_POOL_ID ASP.NET 4.0 (Integrated)
ASPNETCORE_IIS_HTTPAUTH anonymous;
ASPNETCORE_IIS_PHYSICAL_PATH E:\\HostingSpaces\\vandehoef\\huubvandehoef.eu\\wwwroot\\
ASPNETCORE_IIS_SITE_ID 107
ASPNETCORE_IIS_SITE_NAME HUUBVANDEHOEF.EU
ASPNETCORE_IIS_VERSION 10.0
CommonProgramFiles C:\\Program Files\\Common Files
CommonProgramFiles(x86) C:\\Program Files (x86)\\Common Files
CommonProgramW6432 C:\\Program Files\\Common Files
COMPUTERNAME S145
ComSpec C:\\Windows\\system32\\cmd.exe
DriverData C:\\Windows\\System32\\Drivers\\DriverData
LOCALAPPDATA C:\\Windows\\system32\\config\\systemprofile\\AppData\\Local
NINJARMMCLI C:\\ProgramData\\NinjaRMMAgent\\ninjarmm-cli.exe
NUMBER_OF_PROCESSORS 8
OS Windows_NT
Path C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\dotnet\\;C:\\Windows\\system32\\config\\systemprofile\\AppData\\Local\\Microsoft\\WindowsApps
PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE AMD64
PROCESSOR_IDENTIFIER Intel64 Family 6 Model 62 Stepping 4, GenuineIntel
PROCESSOR_LEVEL 6
PROCESSOR_REVISION 3e04
ProgramData C:\\ProgramData
ProgramFiles C:\\Program Files
ProgramFiles(x86) C:\\Program Files (x86)
ProgramW6432 C:\\Program Files
PSModulePath C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules;C:\\Program Files\\PowerShell\\7\\Modules
PUBLIC C:\\Users\\Public
SystemDrive C:
SystemRoot C:\\Windows
TEMP C:\\Windows\\TEMP
TMP C:\\Windows\\TEMP
USERDOMAIN ZEPTOR
USERNAME S145$
USERPROFILE C:\\Windows\\system32\\config\\systemprofile
windir C:\\Windows
ORIG_PATH_INFO /index.php
URL /index.php
SERVER_PROTOCOL HTTP/1.1
SERVER_PORT_SECURE 1
SERVER_PORT 443
SERVER_NAME renzoalife.eu
SCRIPT_NAME /index.php
SCRIPT_FILENAME E:\\HostingSpaces\\Eeken3\\renzoalife.eu\\wwwroot\\index.php
REQUEST_METHOD GET
REMOTE_USER
REMOTE_PORT 41578
REMOTE_HOST 18.117.100.130
REMOTE_ADDR 18.117.100.130
QUERY_STRING
PATH_TRANSLATED E:\\HostingSpaces\\Eeken3\\renzoalife.eu\\wwwroot\\index.php
LOGON_USER
LOCAL_ADDR 192.168.5.145
INSTANCE_META_PATH /LM/W3SVC/24
INSTANCE_NAME RENZOALIFE.EU
INSTANCE_ID 24
HTTPS_SERVER_SUBJECT CN=renzoalife.eu
HTTPS_SERVER_ISSUER C=US, O=Let\'s Encrypt, CN=R11
HTTPS_SECRETKEYSIZE 3072
HTTPS_KEYSIZE 256
HTTPS on
GATEWAY_INTERFACE CGI/1.1
DOCUMENT_ROOT E:\\HostingSpaces\\Eeken3\\renzoalife.eu\\wwwroot
CONTENT_TYPE
CONTENT_LENGTH 0
CERT_SUBJECT
CERT_SERIALNUMBER
CERT_ISSUER
CERT_FLAGS
CERT_COOKIE
AUTH_USER
AUTH_PASSWORD
AUTH_TYPE
APPL_PHYSICAL_PATH E:\\HostingSpaces\\Eeken3\\renzoalife.eu\\wwwroot\\
APPL_MD_PATH /LM/W3SVC/24/ROOT
IIS_UrlRewriteModule 7,1,1993,2351
WEBSOCKET_VERSION 13
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_HOST renzoalife.eu
HTTP_ACCEPT_ENCODING gzip, br, zstd, deflate
HTTP_ACCEPT */*
HTTP_CONTENT_LENGTH 0
HTTP_CONNECTION close
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1737552842.8616
REQUEST_TIME 1737552842
empty
0. Whoops\Handler\PrettyPageHandler