服务器上的未定义函数

时间:2017-08-25 作者:Ross Coombes

可能是一个愚蠢的问题,但希望有人以前遇到过。

问题是:

我有一个运行正常的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
...
*/
如果我跳过了任何重要的事情,我会提前道歉。

非常感谢您的任何帮助。

3 个回复
最合适的回答,由SO网友:Ross Coombes 整理而成

好我终于修好了。

我决定绕过我的子主题,尝试允许自己登录到服务器上的管理系统。为此,我进入数据库并设置templatestylesheet 手动选择“shapely”。进去后,我用界面重新选择了我的孩子主题,瞧,我的主题现在起作用了。

我查看了切换主题的源代码,以及它在数据库中更改的选项template, stylesheet, current_themetheme_switched.

经过一点尝试和错误,我能够通过改变template 选项不幸的是,我可能永远都不知道这种差异究竟是在哪里产生的,也不知道是如何产生的,但感谢@maheshwaghmare,因为你让我走上了正确的道路。

SO网友:maheshwaghmare

您需要使用Template: shapely 而不是Template: Shapely

E、 g。

/*
Theme Name: Shapely Child
Template: shapely
Version: 1.1.7
Author: colorlib
Author URI: LINK
*/
Template是父主题上的目录/文件夹名称。

有关子主题的更多详细信息,请参阅https://codex.wordpress.org/Child_Themes#How_to_Create_a_Child_Theme

我添加了这个答案,而不是水泥,以突出和帮助其他人的答案。

SO网友:OctaviaLo

对于其他在这里结束的人,首先将评论放在风格中是很重要的。子主题的css文件,其次确保使用正确的外壳。

结束

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c