本章内容
➤探索WordPress内核文件
➤搜索内核文件作为参考
➤使用WordPress Codex
➤浏览WordPress代码参考
➤理解内联文档
要理解如何正确地扩展WordPress,首先必须了解WordPress Core功能。这将帮助你了解WordPress Core中有哪些工具可以让你的生活更轻松。WordPress为你处理了大部分繁琐的编码和逻辑问题。WordPress Core是学习WordPress如何工作的最好资源。开源软件的美妙之处在于你可以使用所有的代码。如果你不确定WordPress函数的某个方面是如何实现的,那就开始钻研代码吧!答案都在那里;这只是一个发现和理解他们的问题。
Core里有什么?WordPress Core是由一组文件驱动的,这些文件是原始的WordPress软件包的一部分。这些都是WordPress正常运行所需要的“ Core”文件。 Core文件预计只有当你将WordPress升级到一个新版本时才会改变。 Core不包括插件、主题、数据库设置、.htaccess文件等自定义文件。 Core也不包括任何你上传到WordPress的媒体。基本上,任何安装后添加到WordPress的文件都被认为是Core之外的。
WordPress Core文件主要是PHP文件,但也包含CSS、JavaScript、HTML和图像文件。这些文件控制关于WordPress的一切,包括如何生成内容页面来显示,加载已配置的主题和插件,加载所有选项和设置,等等。简而言之, Core包含几个主要的功能类型:
本章将在你探索WordPress Core文件时深入研究这些文件。你可以把这一章看作是“如何”探索WordPress Core的指南;它是WordPress Codex文档的一个现场指南,CodeX是用户贡献的讨论和解释。在浏览和搜索 Core的功能介绍时阅读舒适也是必要的。所以这里不包括所有WordPress功能的详尽列表,因为列表会随着WordPress Core的持续开发而变化和演变,也因为这里的目标是传达开发人员和部署人员的专业知识,而不是总结Codex。本书的目标是传达开发人员和部署人员的专业知识,而不是总结Codex。
WordPress附带两个插件:Akismet和Hello Dolly。这两个插件存在于wp‐content内的插件目录中。即使这两个插件是WordPress Core文件包的一部分,它们也不被认为是 Core功能,因为它们必须被激活才能正常工作,并且可以很容易地被删除。WordPress还附带三个 Core主题:Twenty Twelve, Twenty Thirteen, and Twenty Fourteen.。Twenty Fourteen 是新安装的WordPress的默认主题。与包含的插件一样,这些主题文件并不被认为是 Core功能,因为它们可以很容易地替换为任何你想在你的网站上使用的主题。
使用WordPress Core作为参考是一个快速而简单的学习WordPress中的各种功能的方法。理解如何在WordPress Core文件中查找可以帮助你在开发WordPress时找到问题的答案。要使用WordPress Core作为参考,需要理解 Core文件中会出现什么内容。大多数WordPress Core文件都包含代码注释形式的文档。通常,代码注释会显示在文件的头中,并给出正在查看的 Core文件的总体摘要。
打开WordPress根目录下的wp‐login.php文件,就可以直接看到这些一手材料。你会注意到文件的顶部有一个描述文件函数的头注释:
/**
* WordPress User Page
*
* Handles authentication, registering, resetting passwords, forgot password,
* and other user handling.
*
* @package WordPress
*/
所有 Core文件,除了图像,可以使用文本编辑器程序查看。根据默认的程序设置可能需要先打开文本编辑器,然后再打开文件,而不是直接打开文件。使用语法高亮显示的文本编辑器也很有帮助,它可以使PHP语法将高亮显示,以帮助更容易地阅读代码。在WordPress.org Codex网站http://codex.wordpress.org/Glossary#Text_editor上有一个完整的兼容文本编辑器列表。
几乎所有的WordPress Core文件都包含PHPDoc格式的内联文档。PHPDoc是一种以PHP注释形式描述函数用法的标准化方法。这意味着在注释块中直接在函数之前详细解释每个函数。下面是WordPress函数的定义模板:
/**
* Short Description
*
* Long Description
*
* @package WordPress
* @since version
*
* @param type $varname Description
* @return type Description
*/
这对理解函数的工作原理非常有帮助。评论包括长评论短评论。WordPress的版本也被添加进去了。这有助于在新版本发布时区分添加到WordPress中的新函数。参数数据类型还列出了可用参数。数据类型是参数所需的数据类型。例如,ID参数可能使用int(整型)数据类型。最后一条信息是返回值。还列出了返回值数据类型。
WordPress中添加的所有新函数都是使用前面的模板记录的。关于WordPress内嵌文档的更多信息,请参阅 Core贡献者手册的文章:http://make.wordpress.org/core/handbook/inline‐documentation‐standards/php‐documentation‐standards/
在WordPress Core中查找一个函数是了解特定的WordPress函数如何工作的最快方法。可以清楚地看到允许向函数发送哪些参数,以及函数实际做什么和返回值是什么。
首先,确保你已经在本地下载了最新版本的WordPress到你的电脑上。你将搜索这些文件作为WordPress的参考。打开任何可以搜索文件的文本编辑器(推荐Windows的TextPad和Mac的Sublime text)。在搜索一个函数时,我们希望从搜索中消除对该函数的调用。要做到这一点,可以在搜索的开头加上“function”一词,如function wp_head。并不是WordPress中的所有内容都是函数,但从函数开始深入是个不错的选择。如果你没有找到任何匹配,从你的搜索开始删除“函数”。还记得将你的文本编辑器设置为搜索所有文件(.),而不仅仅是.txt文件。
让我们看看is_super_admin()函数。检查用户是否为WordPress Multisite的超级管理员。在使用函数之前,您需要确切地知道函数期望的值。打开你的文本编辑器,在WordPress中搜索所有文件,函数is_super_admin。搜索应该在wp‐includes/capabilities.php中查找到结果
function is_super_admin( $user_id = false ) {
你马上就会注意到可以发送给这个函数的一个参数:$user_ id。注意函数上面直接列出的内联文档。在本例中,is_super_admin()文档是这样的:
/**
* Determine if user is a site admin.
*
* @since 3.0.0
*
* @param int $user_id (Optional) The ID of a user. Defaults to the current
user.
* @return bool True if the user is a site admin.
*/
这是一个非常有价值的内容块。注释中有关于该功能的简短描述,在本例中为“确定用户是否为站点管理员”。注释还说明了函数是何时添加的(从3.0.0版本开始)。还有关于单个参数的信息,包括参数类型、参数负责什么,以及在本例中参数是可选的。该注释还详细说明了预期的返回值是什么。在这种情况下,如果用户是站点管理员,函数将返回True,否则返回False。
仅凭这些信息就足以理解这个函数是如何工作的,但是为了更好地理解,让我们深入研究代码。前几行是这样的:
if ( ! $user_id || $user_id == get_current_user_id() )
$user = wp_get_current_user();
else
$user = get_userdata( $user_id );
根据函数上面的PHPDoc注释,知道$user_id参数是可选的,所以这段代码显示了如果$user_id参数没有传递给函数会发生什么。前面的if语句检查$user_id变量是否包含值。如果没有,或者当前登录的用户与$user_id匹配,则调用wp_get_current_user()函数来获取当前登录的用户的用户数据。如果$user_id变量包含一个值,则调用get_userdata()函数根据传递给函数的id检索用户数据。
if ( ! $user || ! $user->exists() )
return false;
现在你知道$user数据存在了,然后需要检查这个用户是否是一个超级管理员:
if ( is_multisite() ) {
$super_admins = get_super_admins();
if ( is_array( $super_admins ) && in_array( $user->user_login,
$super_admins ) )
return true;
} else {
if ( $user->has_cap('delete_users') )
return true;
}
让我们来分析一下这个if语句:
if ( is_multisite() ) {
这个if语句通过调用is_multisite()函数来检查在WordPress中是否真的启用了Multisite。超级管理员只有在WordPress的多站点功能被启用时才会存在。现在WordPress已经确定Multisite正在运行,函数调用get_super_admins()来检索WordPress中所有超级管理员的数组,代码如下:
$super_admins = get_super_admins();
$super_admins变量现在是所有超级管理员登录用户名的数组。下一行是这个函数中最重要的一行。这是检查用户是否是WordPress超级管理员的代码:
$super_admins = get_super_admins();
if ( is_array( $super_admins ) && in_array( $user->user_login, $super_admins ) )
return true;
如果前面的is_multisite()检查返回false,函数将执行以下else代码:
return false;
这段代码基本上是说,如果is_super_ admin()函数中的任何检查失败,则返回false。这更多的是一种安全措施,以确保总是返回一个真或假值。在查看这个示例之后,应该更清楚地看到WordPress Core代码是多么有用。通过研究源代码,你确切地了解了这个函数是如何工作的。你所有问题的答案都在 Core代码中,所以了解如何利用 Core对你有利是很重要的。
WordPress Core有一些包含许多更流行的WordPress功能的文件。这些函数用于所有的WordPress api,可以在任何自定义插件或主题中使用。下面的章节详细介绍了包含使用WordPress的关键代码的WordPress Core文件。下面列出的所有文件都位于WordPress的/wp‐includes目录中。
php文件包含主要的WordPress API函数。这些函数用于使用标准化方法轻松地与WordPress交互。插件、主题和WordPress Core都使用这些函数:
option.php文件包含主要的WordPress Options API函数。这些函数用于以下用途:
formatting.php文件包含WordPress API格式化函数。这些函数的有很多格式化输出的方式:
Pluggable.php 允许你覆盖WordPress的某些 Core函数。如果这些函数在所有插件加载后仍未定义,WordPress就会加载它们。一些比较常用的函数包括:
plugin.php文件包含WordPress Plugin API函数,包括:
User.php文件包含WordPress User API函数,包括:
post.php文件中包含了WordPress文章处理中用到的函数,包括:
taxonomy.php文件包含WordPress分类法API所使用的函数。分类法用于管理元数据(如类别和标记)的层次关系(见第6章),还可以进行扩展,如第7章所述。这个文件中的函数包括:
在为WordPress开发自定义主题和插件时,还有更多的 Core功能可以使用。我们花几分钟探索/wp‐includes的 Core文件。这个目录包含大部分的WordPress API Core函数文件。要了解这里列出的任何函数的更多信息,请打开相应的文件并查看源代码。请记住,每个函数都有解释如何正确利用函数的内联文档。我们将在第8章详细介绍插件API函数。主题使用的 Core功能将在第9章中介绍。
在开发新版本的WordPress时,某些函数可能会被弃用。已弃用函数意味着该函数没有从WordPress中移除,但不应该在你的插件和主题中使用。在这种情况下,通常会创建一个新函数来替换已弃用的函数。一个函数在WordPress中可能会因为许多不同的原因而被弃用,但最常见的原因是该函数需要完全重写以更好地处理它添加到WordPress的功能。
WordPress包含一个文件来存储所有多年来已经弃用的函数。WordPress以其优越的向后兼容性而闻名。这意味着当WordPress的新版本发布时,它将重点放在向后兼容性上,以验证新功能和功能不会破坏现有的运行WordPress的站点,即使使用的功能被认为是已弃用的。让我们看一下已弃用get current theme()函数的内联文档:
/**
* Retrieve current theme name.
*
* @since 1.5.0
* @deprecated 3.4.0
* @deprecated Use (string) wp_get_theme()
* @see wp_get_theme()
*
* @return string
*/
你将注意到一些对已弃用函数的额外注释行。第一行是@deprecated行,说明该函数在WordPress的哪个版本中被弃用,在本例中是v3.4。第二个是@see,它告诉您应该使用哪个函数,在本例中是wp_ get_theme()。当新版本的WordPress发布时,deprecated.php文件是一个非常重要的文件。如果一个常用函数已被弃用,应该立即停止使用它,甚至考虑更新你的旧代码以使用替换。一般来说,不推荐的函数通常不会从WordPress Core中移除,但是我们不能保证在未来的版本中不会删除已弃用的函数。
WordPress有许多不同的在线资源,在学习和使用WordPress时非常有用。这些资源应该添加书签以供快速参考,初学者和专家都可以使用这些资源。在本节中,我们涵盖了两个最流行的在线WordPress资源:WordPress Codex和Code Reference。
WordPress Codex是一个位于WordPress.org上的WordPress文档的在线wiki,WordPress.org将Codex描述为“WordPress知识的百科全书”。你可以通过http://codex.wordpress.org或WordPress.org页眉菜单的“支持文档”链接访问WordPress Codex。
Codex是一个基于wiki的网站,这意味着任何人都可以创建,编辑,并对Codex内的文章作出贡献。Codex包含了WordPress所有方面的有用知识。从“WordPress入门”到更高级的开发者主题,Codex是任何想要更多了解WordPress的人的必要资源。
Codex有多种语言版本。要找到翻译成你的语言的Codex,请访问多语种Codex页面http://codex.wordpress.org/Multilingual_Codex。你也可以对Codex作出贡献,并帮助扩展任何语言或创建自己的版本的任何语言的法典,如果它没有被列出来的话。
Codex可以有许多不同的用途。最常见的方法是透过搜索框查找Codex,或浏览http://wordpress.org/search/,方便地在Codex内查找符合你查找条件的文章。
WordPress.org搜索是由谷歌自定义搜索支持的,如图4-1所示。返回的搜索结果来自所有的WordPress.org,而不仅仅是Codex,所以记住这一点很重要。还有一个不太为人所知的只搜索Codex的网址是http://codex.wordpress.org/Special:Search
你也可以浏览Codex主页上的文章索引。这些文章是按主题和难度等级排列的。还有一个关于最新版本的WordPress的话题。这里的文章涵盖了新特性、插件和主题的兼容性测试、安装、升级和新版本的支持。
Codex 提供了广泛的术语表。这可以帮助你熟悉整个Codex中使用的常用词。你可以在http://codex.wordpress.org/Glossary上查看官方词典。
另一种搜索方法是使用快速索引。这个索引允许你根据文章标题的第一个字母查找文章。你可以在http://codex.wordpress.org/Codex:Quick_index上找到快速索引
还有一个WordPress课程页面在http://codex.wordpress.org/WordPress_Lessons。这个页面提供了如何学习WordPress的特定元素的课程。课程是按主题组织的,如果你不确定先读什么,那么从这里学是一个很好的开始。
WordPress函数在Codex中描述,每个可用的WordPress API函数都有一个单独的函数参考页面。这些页面详细解释了WordPress函数是如何工作的,如图4-2所示。建议将此页面添加为书签,以便快速了解WordPress功能及其功能。官方文档的地址为:http://codex.wordpress.org/Function_Reference
可以将函数参考文档可以看作函数内联文档的在线扩展版本。参考资料中有描述部分它解释了函数如何工作和如何使用。列出了各个参数、数据类型和每个参数的描述。函数参考中最有用的部分是页面中的示例部分。通过这些示例,可以很容易地了解如何使用该函数。get_userdata()的例子如下:
user_login . "\n";
echo 'User roles: ' . implode(', ', $user_info->roles) . "\n";
echo 'User ID: ' . $user_info->ID . "\n";
?>
这个例子展示了如何为用户ID 1加载特定的用户数据。示例如下:
Username: michael_myers
User Level: administrator
User ID: 1
这是一个简单的示例,但是连同其他参考信息,可以帮助你轻松地学习新函数以及如何在代码中正确地使用它。函数参考的源文件部分详细介绍了函数位于WordPress Core中的位置。在我们的例子中,get_userdata()函数位于wp‐includes/pluggable.php中。本地文件是一个指向Trac中WordPress Core文件的链接。这是通过浏览器查看函数声明位置的一种快捷方便的方法。另外我们将在第16章介绍Trac软件。
最后一个函数参考主题列出了相关函数。这可以帮助你确定一个类似的功能,可以完成你正在做的任务。例如,wp_insert_post()函数列出了wp_update_ post()和wp_ delete_ post()作为相关函数。大多数的WordPress API函数都有很好的文档,但并不是所有的函数都有一个函数参考页面。在功能参考主页上以红色显示的任何功能目前都没有文档。Codex是一个正在进行的社区项目,所以期望所有功能最终在Codex中被完全记录。
注意:对Codex的贡献是参与WordPress的一个很好的方式。你不需要成为一个高级开发人员来贡献代码示例、描述、以及关于WordPress中各种特性和附加功能信息。
WordPress提供了许多不同的API来帮助与WordPress进行交互。你可以把api想象成网关,让你在WordPress内添加功能或检索外部内容,而不违反“不要破坏 Core”的原则:大多数API插入对非 Core代码的引用,这些代码将通过注册WordPress的入口点添加到wp-content目录中。每个API连同API中使用的函数一起被记录在Codex中。API是一组可用于主题和插件的预定义函数。以下是最常见的WordPress api列表:
插件API -用于自定义插件开发。Codex有一个丰富的插件API文档页面。有一个回调函数,动作和过滤器的介绍,这些是自定义插件与WordPress交互的主要方式。插件API页面链接到函数参考页面,可用的API函数位于/wp-includes/plugins.php http://codex.wordpress.org/Plugin_API链接中
widget API -用于在插件中创建和维护widget。“外观”界面下,“小部件”会自动显示,可用于主题侧栏的任意操作。
widget API位于http://codex.wordpress.org/Widgets_API。
Shortcode API-用于在插件中添加短代码。短代码是添加到文章中的宏代码。这允许插件抓取短代码,执行特定的命令,并在你的文章中显示元素。短代码还可以接受参数来更改输出。
一个例子是WordPress core 短代码gallery(使用时用中括号包起来)。添加gallery到你的帖子自动以画廊形式显示上传到该帖子的所有图像。当编辑一个帖子时,你会看到gallery短代码,但在你的网站的公共侧查看它显示的实际图片画廊。短代码API可以在http://codex.wordpress.org/Shortcode_API上找到
HTTP API -用于从WordPress发送HTTP请求。此API是获取外部URL内容的标准化方法。基本上,它接受提供的URL并测试一系列用于发送请求的PHP方法。根据主机环境的不同,WordPress使用它认为正确配置的第一个方法来发出HTTP请求。
目前测试的HTTP API PHP方法有cURL、Streams和FSockopen。方法也完全按照这个顺序进行检查。
你可以使用 Core控制插件(http://wordpress.org/extend/plugins/Core‐Control /)来具体选择所有HTTP请求使用的方法。
使用HTTP API,您可以轻松地与谷歌Maps API交互来动态生成地图和绘图。HTTP API也可以很容易地与Twitter API交互,允许你直接从WordPress发布/阅读推特文章。HTTP API可以在http://codex.wordpress.org/HTTP_API上找到。
setting API -用于创建设置页面。这个API用于创建和管理插件和主题的自定义选项。使用Settings API的主要优点是安全性。API会清除用户保存的所有设置数据。这意味着在保存设置数据时不再担心nonces、数据验证和跨站脚本攻击。这比旧的数据验证方法简单得多,旧的数据验证方法每次需要在插件中保存设置时都必须调用。设置API可以在http://codex.wordpress.org/Settings_API上找到。
Options API -用于在WordPress数据库中存储选项数据。Options API提供了一种创建、更新、检索和删除选项值的简单方法。选项API可以在以下URL中找到:http://codex.wordpress.org/Options_API
Dashboard Widgets API -用于创建管理仪表板小部件。从API中添加的小部件自动包含仪表板小部件拥有的所有jQuery特性,包括拖放、最小化和通过屏幕选项隐藏。仪表板小部件API可以在http://codex.wordpress.org/Dashboard_Widgets_API上找到
Rewrite API -用于创建自定义重写规则。这个API允许你创建自定义重写规则,就像你在.htaccess文件中那样。你也可以创建自定义的永久链接结构标签(即%postname%),添加静态端点(即/my‐page/),甚至添加额外的提要链接。Rewrite API函数位于/wp-includes/Rewrite .php http://codex.wordpress.org/Rewrite_API。
记住,所有的WordPress api都可以在定制插件和主题开发中使用。这是为WordPress添加额外特性和功能的主要方法。利用上述api创建了一种简单且标准化的与WordPress交互的方式。有关所有WordPress api的更多信息,请访问Codex页面http://codex.wordpress.org/WordPress_API's
就像任何一个维基百科一样,关于Codex中文章的准确性总是存在争议。困扰Codex的一个问题是文章的新鲜度。WordPress正在以相当不错的速度发展,因此Codex需要保持这种速度,以便准确。不幸的是,这并不总是发生,而且有些材料已经过时了。WordPress Codex是一个社区项目,所以你可以轻松创建一个帐户并开始帮助!对WordPress的贡献将在第16章中介绍。Codex存在的另一个问题是内容的组织。目前,在Codex中有如此多的信息,它可能很难在混乱中找到你正在寻找的答案。同样,介绍WordPress Core的动机之一是为你提供一个地图,以帮助缩小你的搜索范围,并介绍相关的功能主题。
WordPress代码参考是一个更新的WordPress在线资源。Code Reference于2014年春季推出,是一个自动生成的在线资源,帮助开发者找到更多关于WordPress函数、类、回调等的信息。你可以通过http://developer.wordpress.org/reference/访问代码参考
代码引用内容是使用一个名为WP Parser的开源项目生成的。这个程序解析所有的WordPress Core文件,并从WordPress Core内联文档中生成引用条目。欲了解更多关于WP Parser项目的信息,请访问https://github.com/rmccue/WP‐Parser。
有几种不同的方法可以使用代码引用。和所有WordPress在线文档一样,它有一个强大的搜索选项。如果你不知道某个函数的名称,那么搜索代码参考可以帮助找到正在查找的特定函数。或者可以浏览各种主题,包括函数、回调、类和方法。按主题筛选将按字母顺序列出所有主题,这是学习你可能不太熟悉的主题的好方法。
代码参考的另一个非常有价值的特性是能够查看WordPress版本的所有函数。例如,你可以通过访问http://developer.wordpress.org/reference/since/4.0.0/来查看WordPress 4.0.0中引入的所有函数。要查看旧版本的WordPress,只需将URL中的版本更改为你想看到的版本。如果你想了解WordPress 2.5中引入了哪些函数,请访问http://developer.wordpress.org/reference/since/2.5.0/
代码引用中的每个条目都有一个详细页面,其中列出了关于该条目的所有信息。让我们以absint() WordPress函数为例,如图4-3所示。
代码引用的第一部分包括带有可用参数的函数、关于函数的描述、期望的返回值、函数被添加到的WordPress的版本以及声明函数的源文件。如果你认为这些信息看起来很熟悉,那么你绝对是对的。代码参考页面上显示的函数细节直接来自WordPress Core中的absint()函数的内联文档。下面详细介绍函数参数。本节将列出该函数将接受的任何和所有参数。每个参数都详细说明了函数期望的数据类型。
最后一节是函数声明的实际源代码。这段代码正是我们正在查看的函数在WordPress Core中存在的代码。正如你所看到的,WordPress代码参考是一个在线的,更漂亮的WordPress Core代码版本。
代码引用参考比Codex最大的好处是准确性。代码引用是由WordPress Core文件自动生成的。这确保了代码参考中的所有内容是完全准确的,并且总是与最新版本的WordPress同步更新。另一方面,WordPress Codex是一个由来自世界各地的贡献者手动更新的wiki。
Codex 对于代码参考的最大好处是提供了更多的内容和例子。因为Codex是一个wiki,可以为WordPress中的任何特定功能提供无限的信息、例子和教程。这可以让你更容易理解如何在WordPress中使用特定的函数。
Codex和代码参考有优点和缺点,但最终它们是学习使用WordPress开发的两个非常好的资源,我们应该添加书签以供将来参考。
虽然开发WordPress Core并将其作为参考是非常受鼓励的,但破坏 Core则不然。入侵 Core文件意味着对WordPress的 Core文件进行任何修改。一个更改可以像一行代码那么简单,但是破坏就是破坏,这样做可能会在以后导致重大问题。
修改WordPress Core会让你很难升级到最新版本的WordPress。保持WordPress的更新是整个网站安全的重要一步。如果发现任何安全漏洞,补丁通常会很快发布。如果因为你修改了 Core文件导致不能更新,那你的网站将存在这些安全漏洞,你的网站将增加被黑客攻击的可能性。
因为WordPress的很多部分都依赖于其他部分来正常工作,所以黑客攻击WordPress core也会导致网站不稳定。如果对这些部分进行更改,可能会破坏一些与你所更改的内容完全无关的内容。
安全性是不应该修改core的另一个原因。WordPress core(内核)被世界各地的安全专家审查过。通过修改内核,你需要依靠自己的专业知识来确保你的修改是安全的。如果你不理解黑客利用你的代码有许多不同方式,你可能会在WordPress的内核内创建一个安全漏洞。
你永远不应该破坏WordPress内核的最后一个原因是同情:也就是说,同情那些跟着你维护网站的开发人员。大多数网站会在几年内更换开发人员,所以不能保证你五年后还会在一个网站上工作。想象一下,跟踪您的开发人员试图确定哪些 Core文件被修改了,这对任何开发者来说都是一场噩梦,它将网站所有者置于一个不利的位置,因为大多数开发者将拒绝开发一个被修改的WordPress版本。如果你修改了内核,你所构建的依赖将被误解或隐藏,当WordPress内核升级到这个网站时,被修改的内核将以无声、邪恶或大声的方式崩溃。
WordPress中不存在的任何特性或功能都可以通过插件来添加。有时候,修改内核可能是简单的答案,但从长远来看,它会让你的生活更加艰难。(我们还没有遇到过不能与插件结合的功能。)WordPress是非常灵活的,这是它的主要优势之一,因此它的内核不应该被修改。不要修改内核!
如果你对WordPress的内核和它的复杂性很感兴趣,你应该加入WordPress开发者社区,参与修复bug并为WordPress的内核构建做出贡献。这将在第16章中详细介绍。
在本章中,介绍了WordPress 软件内核。探索了内核的内容,如何在为WordPress开发时使用内核作为参考,以及如何确定每个版本中哪些函数是不支持的。还学习了WordPress Codex、代码参考和WordPress中最常用的API。现在你已经理解了WordPress的内核,是时候学习如何利用WordPress循环来定制内容的显示了。