不可以,您不能以指定的方式在主题中包含PHP文件。
要了解原因,我们所要做的就是运用一些常识和基本的批判性思维:
您将对远程服务器执行远程请求include
无法做到这一点,如果它奇迹般地奏效,你就会有一个重大的安全漏洞,因为我可以这样做:include( \'http://yoursite/wp-config.php\' ); echo DB_PASSWORD;
. 想象一下,入侵网站是多么容易!有什么能阻止我包括facebook.com/index.php
?如果即使这样,它也能以某种方式工作,而且是安全的,想象一下它的缓慢吧!您向服务器发出一个请求,然后服务器去为页眉、侧边栏和页脚发出另一个请求,所有这些都在等待,谁会感到困扰但最后,即使include可以发出远程请求。它不能,为什么要返回PHP代码?它不会返回服务器吐出的内容,也就是最终的html吗?服务器在返回之前会运行任何PHP,因此在您包含的内容中不会有PHP所以不,这是不可能的。但是,将问题中的代码快速复制粘贴到PHP脚本中,然后进行快速访问,会比这里的任何人都快。
相反,您只能包含服务器当前运行的本地文件系统中的文件。您永远不会将URL传递给include或require语句。
所以如果我在索引中。php,并且在同一文件夹中有一个名为sidebar的文件。php,我会像这样包括它:
include(\'sidebar.php\');
include
如果此操作失败,则返回一个值。include语句的语义是通用的基本PHP,与本问答无关;一个站点。
然而,我没有回答这个问题,因为您应该使用一个WordPress API函数,它比包含和要求更好。
要在主题中包含模板部件,请使用:
get_template_part( \'partname\' );
此函数还将查看指定零件的子主题或父主题。
例如,在此代码中:
get_template_part( \'sidebar\', \'first\' );
它将寻找并包括第一次发现的:
儿童主题sidebar-first.php
父主题sidebar-first.php
子主题sidebar.php
父主题sidebar.php
应该注意的是,您应该只使用get\\u template\\u part来包含模板文件。不要使用它来包含库等文件,或其他不输出html的PHP文件。
我建议您在继续之前阅读以下主题:
PHP上的include和require函数。Net父主题和子主题模板层次结构以及WordPress如何选择要使用的模板<?php php ?> <?php tag ?> <?php spam ?> <?php and ?> <?php why ?> <?php its ?> <?php bad ?>
get_template_part
WP_HTTP
API,对于那些真正的时间,您确实需要对API执行远程请求。功能,如wp_remote_get
和wp_remote_post
在这里会有帮助WP_DEBUG 在您的wp-config.php
并安装一个插件,如调试栏或查询监视器,这些都将极大地帮助您。一定要打电话wp_footer
但在模板页脚中