在 WordPress 中使用 Twig 模板,简化WordPress主题开发

在程序开发中,把模板和数据混杂在一起,不是一个好主意,MVC 设计模式就是为解决这个问题出现的,由于历史原因,WordPress 并没有使用 MVC 开发模式。Twig 是 PHP 程序中应用得比较广泛的模板系统,即便没有完整的 MVC,我们也可以在 WordPress 模板中使用 Twig 模板。
通过 composer 安装 Twig 模板
直接在 WordPress 的主题目录里面使用 composer 安装 Twig 模板即可。

composer install twig/twig

配置Twig模板的目录和缓存目录
调用一下 composer 生成的 autoload 文件,然后配置一下模板路径和缓存路径,我们就可以在下一步中使用 Twig 模板了。

require_once( dirname( __FILE__ ) . '/vendor/autoload.php' );

$loader = new Twig_Loader_Filesystem(dirname( __FILE__ ) .  '/tmp');
$twig = new Twig_Environment($loader, array(
   'cache' => dirname( __FILE__ ) .  '/tmp',
));

传入数据到模板并渲染
加载模板,在下面的示例中,加载的模板文件是:tmp/index.html,以数组的形式传入数据到模板中,就可以直接渲染模板了。为了直观,这里的数据就直接用一个字符串代替了,感兴趣的朋友可以自定折腾其他数据。

$template = $twig->loadTemplate('index.html'); 
echo $template->render([ 'data' => '测试模板加载' ]);

直接使用 Twig 模板替代标准的WordPress模板开发可能显得有些激进,在使用过程中可能也会有一些坑等着我们去跳。但是如果我们开发的不是一个完整的 WordPress 模板,而是在开发基于 WordPress 的应用或者 WordPress插件的时候,使用 Twig 模板来渲染模板中的一部分数据,就会显得非常方便。

声明:本站资源绿色无后门无广告,可放心下载。如无特殊说明或标注,均为本站原创发布,转载请注明出处!