首页 > wordpress开发 > wordpress主题功能 > 如何引入wordpress子主题的父主题的functions.php 文件
摘要:functions.php 文件是wordpress主题中的核心函数文件,包含wordpress主题的所有调用功能,是主...

functions.php 文件是wordpress主题中的核心函数文件,包含wordpress主题的所有调用功能,是主题必不可少的文件。在子主题中引用父主题的 functions.php 文件不像是引用 style.css 文件会把原先的样式覆盖掉,而是把子主题的 functions.php 的内容追加到父主题的 functions.php 文件优先加载。

我们有时想要增加功能,但是当主题升级之后,我们增加的功能就被覆盖掉了,比较聪明的办法就是利用子主题的这个特性,想要增加父主题的功能,我们可以新建一个子主题,然后把功能放在 functions.php 中,这样即使是父主题升级了也没有关系。

注意,不必把父主题的 functions.php 文件内容,全部复制到子主题的 functions.php 中。
关于 functions.php 中功能代码的编写,就跟普通主题的一样,例如下面一个例子(添加 favicon.ico 到头部):

想替换某些功能怎么办?子主题 functions.php 文件的引用机制,是在父主题的 functions.php 之前加载使用的。那么我们就可以利用这个特性,来替换父主题的相关函数等。例如:

这样,子主题就可以通过事先简单的声明来替换父主题的 PHP 函数功能啦。

引用子主题中的其他文件

如果在子主题目录中还有一些其他的文件要引入,你可以使用 get_stylesheet_directory() 这个函数来获取当前子主题的目录位置。因为父主题的 style.css 文件被你的子主题的 style.css 文件替换了,但是你的子主题 style.css 文件却在子主题目录中,使用 get_stylesheet_directory() 函数可以指向你的子主题目录位置,这样就可以引用子主题目录里面的文件啦。

这个例子使用 require_once 引入一个存放在你子主题目录中的文件。

父主题的文章页面(single.php)的 HTML 结构已经满足不了我强大的样式定义需求了,可以通过在子主题中增加一个同名的模板文件(single.php)直接覆盖掉父主题对应的模板文件,注意一定要和父主题的模板文件同名才可以覆盖。

注意:你在子主题中所做的一切,都不会影响到原来的父主题,所以即使是父主题升级了,模板文件变动了,你的子主题的相关代码仍然会起作用。

wordpress子主题实质上就是一个独立的主题,不仅仅可以使用 style.css、functions.php 等文件,还可以增加其他的主题必备的文件和资源,例如:图片、样式、Javascript 等。当然,你要通过正确的链接地址引用到它们。

分享到:
赞(0) 打赏

作者: 大挖酱

挖主题团队自2014年开始专注于WordPress企业主题设计开发,致力于为更多用户打造出更漂亮、更易用、更专业的网站。距今已累计开发近50款WP主题,付费客户超过5千人。挖主题,是您可以长期信赖的合作伙伴。

85 queries in 0.568 seconds

联系作者Q: 8413708 WX: zdmin7

支付宝扫一扫

微信扫一扫