欢迎来到本课程,我们将深入探讨主题的功能文件(functions.php)以及如何使用它来添加自己的功能。
通过本课程,您将:
描述WordPress主题functions.php文件的目的,
在开发主题时决定何时使用插件而非functions.php文件,
列举一些使用functions.php文件扩展WordPress功能的常见用途。
functions.php文件
WordPress主题functions.php文件的目的是什么?
通过添加在WordPress初学者开发学习路径中介绍的可选functions.php文件,可以实现为您的主题添加功能。请务必查看关于主题结构的课程。
我们可以选择添加functions.php文件,以便在不更改文件的情况下通过使用WordPress钩子系统来扩展WordPress。要了解更多关于WordPress钩子的信息,您可以参考初学者开发学习路径中的模块。
与插件一样,您应该始终在钩子上运行代码,以便在加载过程中的适当点执行其功能。例如,您可以在WordPress初始化主题后,通过使用after_setup_theme动作钩子和add_theme_support函数来添加各种主题支持功能。
这里看一下默认的Twenty Twenty-Four主题中包含的functions.php文件。register_block_pattern_category函数在这里为我们注册了页面的模式类别。
请注意,WordPress核心已经为我们提供了许多模式类别。只是这个特定的模式类别没有提供,所以主题为我们做了这件事。这将在执行init钩子时运行Twenty Twenty-Four模式类别函数。
使用插件
如何知道何时使用插件而不是functions.php文件?
由于您可以为您的主题添加类似插件的功能,明智地使用这种能力非常重要。如果您计划分发您的主题,您可能需要考虑将代码放在插件中,而不是依赖functions.php文件。这样,如果网站所有者决定更换主题,他们的网站不会崩溃。
如果您计划将主题提交到WordPress.org主题目录,您需要确保遵循那里的指南。
常见用途
让我们看看一些使用functions.php文件扩展WordPress功能的常见用途。
对于经典主题,您可以使用functions.php文件添加块主题样式。如果您看一下Twenty Twenty-One主题,您会看到一个例子,他们为这个经典主题添加了对块样式的主题支持。
// 添加对块样式的支持。
add_theme_support( ‘wp-block-styles’ );
您还可以使用functions.php文件加载脚本和样式,我们将在下一节关于包含资源的课程中介绍。不过,您可以通过查看Twenty Twenty-Two主题来看到一个例子。
最后,您可以选择使用functions.php文件包含其他PHP文件。您可以再次参考Twenty Twenty-Two主题的例子,您会发现它使用了位于inc文件夹中的block-patterns.php文件。
// 添加块模式
require get_template_directory() . ‘/inc/block-patterns.php’;
这是通过添加require、get_template_directory和连接文件路径来完成的。
下一步
您可以通过参考WordPress.org上提供的主题手册,了解更多关于添加自定义功能的信息。