Select Git revision
WPThemeResolver.php
-
Bartek Jaskulski authored
Signed-off-by:
Bart Jaskulski <bjaskulski@protonmail.com>
Bartek Jaskulski authoredSigned-off-by:
Bart Jaskulski <bjaskulski@protonmail.com>
WPThemeResolver.php 932 B
<?php
namespace WPDesk\View\Resolver;
use WPDesk\View\Renderer\Renderer;
use WPDesk\View\Resolver\Exception\CanNotResolve;
/**
* Class should resolve name by standard wp theme resolve
*
* @package WPDesk\View\Resolver
*/
class WPThemeResolver implements Resolver {
/** @var string */
private $template_base_path;
/**
* Base path for templates ie. subdir
*
* @param $template_base_path
*/
public function __construct( $template_base_path ) {
$this->template_base_path = $template_base_path;
}
/**
* Resolve name to full path
*
* @param string $name
* @param Renderer|null $renderer
*
* @return string
*/
public function resolve( $name, Renderer $renderer = null ) {
$templateFile = locate_template(
[
trailingslashit( $this->template_base_path ) . $name,
]
);
if ( ! $templateFile ) {
throw new CanNotResolve( "Cannot resolve {$name}" );
}
return $templateFile;
}
}