Iframe a WordPress template

时间:2013-07-16 作者:Gareth Gillman

我正在尝试在WP中构建模板,例如。

<p><a class=\'iframe\' href="<?php bloginfo(\'template_directory\'); ?>/training-form.php">Book Now</a></p>
这给了我一个空白页,但如果我这样做:

<?php get_template_part(\'training\', \'form\'); ?>
这将在页面中显示表单

我想这可能是一个权限,所以我将模板权限(通过ftp)设置为644,但仍然没有成功!有什么想法吗?

1 个回复
SO网友:Krzysiek Dróżdż

嗯,它不能也不会起作用。

你应该想想iframe是如何工作的。它所做的就是用给定的URL(src参数)向服务器发送请求并显示响应。

为什么插入<?php bloginfo(\'template_directory\'); ?>/training-form.php 因为src不起作用?去这个地址看看,你会得到什么。什么都没有或是一些垃圾。为什么?因为这是单个PHP文件打印出来的内容。

请记住,您是直接访问模板文件的,所以没有WordPress全局变量(没有$wp_query, $wpdb 等等),并且没有可用的WP函数(即调用esc_attr 将导致PHP致命错误)。

因此,您必须在iframe中放置一个页面url。此外,您不能仅显示此页面的一部分。

结束