我正在做一个WordPress小部件和示例都有巨大的HTML/PHP块混合在一起,它是不可能阅读的,所以在试图清理东西的兴趣,我想移动所有的HTML渲染到一个单独的PHP文件,将include()
'd。
这个技巧是,我包含的文件似乎没有访问$this
,我不确定如何解决这个问题。
widget.php
class Preorder extends WP_Widget {
...
function form() {
include('form.php');
}
}
form.php
<p>
<?php echo $this->get_field_id('title'); ?>
</p>
这导致了[31-Aug-2011 19:59:19] PHP Fatal error: Call to a member function get_field_id() on a non-object in ...
,所以显然$this
不是免费出现的。我试过把$this
混叠到另一个变量&即使只是为了好玩而没有成功地使用global
关键字。
希望我错过了一些简单的东西
忘记在目录上迭代了&include
-删除每个.php文件,将form.php重命名为form.php。TMPL和似乎有效。
·杜尔。