2013-06-27 164 views
1

我目前正在开发一个网站,我需要一个小部件来显示即将到来的匹配。该网站是一个足球队。因此,我创建了一个创建自定义帖子类型和小部件的插件。一切工作都很顺利,但因为我不喜欢用HTML来混淆我的PHP代码,我想我会在插件目录中的另一个文件中包含小部件设置。虽然include返回bool(true)窗口小部件中没有显示任何东西。在WordPress小部件中包含一个包含表单的PHP文件

这里是我使用的包含文件中的代码:

public function form($instance){ 
    require_once($this->plugin_directory.'/views/widget-form.php'); 
} 

变量$这个 - >插件目录是在构造函数,并指向正确的路径定义。

这是包含文件内的html代码,它很简短,但只是为了测试。无论我输入什么,它都会一直空白。

<input type="text" name="title" value="Hello World!" /> 

任何想法为什么这种情况继续发生,或不支持在这样的地方加载额外的文件吗?我可以只在插件文件中有我的html,但我更喜欢保持PHP清洁,而不是混乱与HTML和/或CSS,JS等。

如果任何人都可以帮助我弄清楚这一点,我将不胜感激它! :)

由于提前, 乔纳森

+0

您是否尝试从ypur插件创建短代码,然后将短代码加载到小部件中?在这里阅读更多关于短代码的信息http://codex.wordpress.org/Shortcode_API – designtocode

回答

0

我知道你提到你的$这个 - > plugin_directory设置在构造为正确的路径,你有没有测试的这个输出和/或它是设置为绝对路径还是相对?

我以前遇到问题,插件文件无法正确读取相对路径,所以我不得不切换到绝对路径,反之亦然。

+0

@ user2166894:谢谢你的回答。我正在使用我包括的文件的绝对路径。这里是:“/ home/a/USERNAME/www/demo/2013/06/bois/wp-content/plugins/lb-widget-matches”。用户名已被替换以保护域名。由于该函数返回布尔(真),当我倾倒它,我不知道该怎么做。 – Jonathan

+0

嗯好的 - 你用来调用函数的代码是什么?如果你var_dump这个函数是否返回任何东西或者只是一个'空白'返回?如果您将require_once从函数中取出并将其插入到您的html段的php标记中,会发生什么? - 我想知道在插件设置中的函数构造中是否存在一些问题或冲突。 –