1
我正在研究一個WordPress Widget,並且所有的例子都有巨大的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
關鍵字沒有成功。
希望我錯過了一件容易的事。
該代碼應該工作。如果代碼完全如上所示,則可以在form.php中訪問'$ this'。別的東西可能正在其他地方發生。 – mfonda
同意mfonda,上面的代碼應該可以工作。我在許多項目中做了完全相同的事情。 – Bazzz
感謝您的理智檢查傢伙,找出了問題。 – Tivac