将页面内容加载到模板中的变量

时间:2014-12-11 作者:Spencer May

在我的一个自定义模板上,我需要在显示内容之前对其进行一些处理。有没有一种方法可以将此内容加载到变量中,而不仅仅是将其输出到页面?

这是我尝试过的,但它只输出页面内容,不将其加载到变量中。

$content = get_template_part( \'content\', \'page\');

2 个回复
最合适的回答,由SO网友:M-R 整理而成

始终可以使用输出缓冲将打印内容存储在变量中。

function return_get_template_part($slug, $name=null) {

   ob_start();
   get_template_part($slug, $name);    
   $content = ob_get_contents();
   ob_end_clean();

   return $content;
}
$content = return_get_template_part(\'content\', \'page\');
最好继续使用get_template_part() 马上另一种选择是locate_template() 功能,但这会影响默认模板的使用。

检查的实施情况get_template_part()locate_template() 你会理解的。

SO网友:Milo

如果要加载模板文件,执行其中包含的代码,并将结果保存到变量中,则需要使用php的输出缓冲:

ob_start();
get_template_part( \'content\', \'page\' );
$content = ob_get_contents();
ob_end_clean();

结束

相关推荐