php是如何知道wordpress函数的

php是如何知道wordpress函数的,php,wordpress,Php,Wordpress,我是网络开发的新手。我现在正在发现wordpress模板。它们都有相似的结构。但我注意到一件有趣的事。 php模板文件中有函数调用。比如get\u header(),get\u footer()。但是我不明白PHP解释器是如何知道这些函数的,没有任何包含,需要…. 这是如何工作的,请解释一下。我将非常感谢任何帮助 php模板文件本身包含在某个地方。例如: function get_header() { /* ... */ } include("page.php"); 在加载模板之前,wordp

我是网络开发的新手。我现在正在发现wordpress模板。它们都有相似的结构。但我注意到一件有趣的事。
php模板文件中有函数调用。比如
get\u header(),get\u footer()
。但是我不明白PHP解释器是如何知道这些函数的,没有任何包含,需要….

这是如何工作的,请解释一下。我将非常感谢任何帮助

php模板文件本身包含在某个地方。例如:

function get_header() { /* ... */ }
include("page.php");

在加载模板之前,wordpress主题中的所有函数都已在wordpress核心代码的其他地方声明。

阅读文档:


get_header()
位于中

资料来源:


get\u footer()
位于中

资料来源:


您可能可以获得帮助。

查看Wordpress文件夹中以index.php开头的文件,这是get加载的第一个文件。您将看到“
require(dirname(_文件);/wp blog header.php”);
”,这只是开始

因此,为了回答您的问题,wordpress使用“require”来包含文件

get_header() 
在wp includes/general-template.php中定义

那么wp includes/general-template.php是如何包含的呢

wp-settings.php requires wp-includes/general-template.php.
wp-config.php requires wp-settings.php.
wp-load.php requires wp-config.php.
wp-blog-header.php requires wp-load.php.
index.php requires wp-blog-header.php.
每个页面请求都从加载index.php开始

如果您使用的是Linux,则可以使用grep查找对该文件的引用。例如

grep -r "function get_header(" *

返回定义get_header()函数的文件列表。

我想我应该添加这一行,或者在wordpress中安装时自动添加这一行,因为我发现了未安装的裸模板,所以找不到该require声明。我说的对吗?全是自动的。您不应该添加这些行。Wordpress在特定文件夹中搜索特定文件,并在需要时添加它们。因此,从internet下载的裸模板没有这一行,但当通过管理面板安装模板时,Wordpress会自动将require行添加为index.php的第一行,对吗?没有。我编辑了以前的评论。Wordpress只会搜索某些文件,如自定义模板,它们会自动被包括在内。模板文件包含在wordpress核心文件之后,因此每个模板文件中都不需要它们。