functions.php文件是您为 WordPress 主题添加功能的唯一位置。您可以在其中把自定义功能挂载到 WordPress 的核心功能上,使您的主题更加模块化、更具扩展性、功能更加丰富。
什么是functions.php?
functions.php文件的行为类似于 WordPress 插件,为 WordPress 网站添加一些特性和功能。您可以使用它来调用 WordPress 函数或定义自己的函数。
使用插件或functions.php可以产生相同的结果。如果我们正在为主题创建新功能,无论网站是什么样的, 最好将它们放在插件中。
使用 WordPress 插件或 functions.php 各有利弊:
使用 WordPress 插件:
需要特定的,唯一的标题文本;
存储在 wp-content/plugins 中
仅在激活时执行;
适用于所有主题
应该有一个特定目的 – 例如,提供搜索引擎优化功能或帮助备份。
使用 functions.php文件:
不需要唯一的标题文本;
存储在 wp-content/themes 中的主题子目录中;
仅在主题激活时执行;
仅适用于该主题(如果主题更改,则无法再使用这些功能)
可以有许多代码块,实现各种功能
每个主题都有自己的函数文件,但只有在激活主题的functions.php文件中的代码会被直接执行。如果您的主题已有 function.php 文件,我们可以添加代码到这个文件中。如果没有,我们需要先创建这个文件。
子主题可以拥有自己的 functions.php文件。向子主题的函数文件添加函数是修改父主题的无风险方法。当更新父主题时,您不必担心添加的新功能会消失。
虽然子主题的 functions.php在父主题的 functions.php之前加载,但它不会覆盖父主题的文件。子主题 functions.php可用于扩充或替换父主题的功能。同时, functions.php在加载任何插件文件后加载。
在 functions.php中,您可以:
使用 WordPress 钩子。例如,使用 excerpt_length过滤器,您可以更改文章摘录长度(默认为55个单词)。
使用 add_theme_support() 函数启用 WordPress 功能 。例如,启用缩略图,文章格式和导航菜单。
定义需要在主题的其他模板文件中重用的函数。
如果在 WordPress 插件和主题的 functions.php 中调用相同的函数或 filter,可能会产生意外的结果,极端情况下甚至会导致我们的网站无法访问。
示例