将变量传递到wordpress插件中的模板文件

时间:2018-12-14 12:32:55

标签: php wordpress

在我的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导出创建一个新模板。这就是为什么我不能使用该页面的所有内容的原因。

1 个答案:

答案 0 :(得分:1)

如果我写错了,请纠正我,但是如果将page_id放在$_POST内,为什么还要将其传递给模板文件?只需在模板文件中使用$_POST['page_id'];访问变量即可。

除了包含模板文件之外,您还可以使用file_get_contents();将其读取为字符串,并在返回之前进行所需的替换。

另一种可能性是已经设置的全局变量:global $post;

最后但并非最不重要的一点是,您可以将输出缓冲与ob_start();(和连续函数)一起使用。

您看到:有很多解决方法。