包含页面模板时出现问题

时间:2014-04-08 作者:Jamie

我正在创建一个单页wordpress网站。我使用的代码确实有效,但由于某些原因,它将不包括页面模板。它只从页面编辑器中获取内容,但不会获取页面模板中的自定义html,因此我试图包含该文件。

我收到的错误消息是include():“打开失败”

 $template = get_post_meta( get_the_ID(), \'_wp_page_template\', TRUE ); 
 $file = get_template_directory_uri() . \'/\' . $template;
 include($file);
我在这里感到困惑,因为它给我的路径是文件的正确路径。我的主题中有4个模板,根据上面的代码,其中一个模板确实被包括在内,但其他三个模板都失败了。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

我想你是想使用:

get_template_directory()
Codex:当前主题目录的绝对路径(不带尾部斜杠)。(link)

而不是:

get_template_directory_uri()
Codex:检索当前主题的模板目录URI。检查SSL。(link)

如果您正在使用include() 用于PHP代码。

但您应该考虑使用:

get_page_template()
Codex:检索当前或父模板中页面模板的路径。(link)

功能get_template_part() 在需要恢复模板部件时也很方便。

结束

相关推荐