可能是一个愚蠢的问题,但希望有人以前遇到过。
问题是:
我有一个运行正常的Wordpress站点的本地副本,还有一个副本在服务器上。上传后我得到
Call to undefined function
从儿童主题的
header.php
引用应存在于其父主题中的函数。
完整错误消息:
Fatal error: Call to undefined function shapely_get_header_logo() in /home/twimp/training.twimp.co.uk/wp-content/themes/shapely-child/header.php on line 33
背景:服务器最近有一个Wordpress站点在其上运行良好,因此我没有特别的理由认为它与它的配置有关。
我使用的主题与上次上传时不同,所以我从上传这两个目录开始,我的子主题和它的父主题。插件做了很多更改,所以我清除了插件目录并重新上传了所有内容。
我还完全擦除了数据库并从本地导入,然后修改了选项表,以将正确的服务器url放回。
wp\\u config尚未被触碰,因此它仍然指向正确的数据库。
我尝试的内容:
我最初认为可能有一两个文件没有上传,所以我并排检查了FTP服务器,从它应该查看的文件开始。他们似乎都在那里。
我认为这可能是一个文件权限问题,所以我重置了wp\\u content目录中的所有文件。
为了以防万一,我试着对header.php
只需确认它实际上是正确服务器上的正确文件,并且数据库正在查看正确的文件。一切正常。
我尝试注释掉错误的函数调用,但所做的只是将错误向下移动到下一个调用的函数。
我检查了style.css
检查其父声明是否正确。我注意到服务器和本地之间的文件大小有差异,但我已经下载了文件,看起来是正确的。
我修改了functions.php
在父母和孩子身上var_dump
当前用户。子主题已打印,父主题未打印。
Conclusion: 似乎我的子主题在服务器上时不知道它的父主题,但我不明白为什么会这样。
子主题样式。css
/*
Theme Name: Shapely Child
Template: Shapely
Version: 1.1.7
Author: colorlib
Author URI: LINK
*/
父主题样式。css
/*
Theme Name: Shapely
Theme URI: LINK
Author: colorlib
Author URI: LINK
...
*/
如果我跳过了任何重要的事情,我会提前道歉。
非常感谢您的任何帮助。