在我的wordpress插件中,我有一个具有页面ID的函数:
public function create_view_for_pdf() {
$page_id = $_POST['page_id'];
$this->template_shortcode('template.php');
}
此处,“ template_shortcode”功能包括位于插件目录中文件夹中的模板。
private function KendoPdf_template_shortcode($template_name) {
return include '/template/dir' . $template_name;
}
在模板文件中,我想传递页面ID,以便在那里打印内容。我怎样才能做到这一点?
注意:由于我仅包含模板文件,因此我认为通常会在此获取$ page_id变量。但这没有用。我需要模板文件中的页面ID,因为内容将与实际页面不同。该页面还具有ACF字段。我基本上是为pdf导出创建一个新模板。这就是为什么我不能使用该页面的所有内容的原因。
答案 0 :(得分:1)
如果我写错了,请纠正我,但是如果将page_id放在$_POST
内,为什么还要将其传递给模板文件?只需在模板文件中使用$_POST['page_id'];
访问变量即可。
除了包含模板文件之外,您还可以使用file_get_contents();
将其读取为字符串,并在返回之前进行所需的替换。
另一种可能性是已经设置的全局变量:global $post;
最后但并非最不重要的一点是,您可以将输出缓冲与ob_start();
(和连续函数)一起使用。
您看到:有很多解决方法。