致命错误:切换主题时无法重新声明

时间:2014-04-16 作者:Sam

我从头开始构建了一个主题,名为“核心”。Core有一个名为“Core\\u child”的子主题。“我的孩子”主题非常完美,只包含以下内容:

图像截图。png样式。css今天我需要激活“core”进行一些更改。激活时,我收到以下错误:

Fatal error: Cannot redeclare add_slug_body_class() in /Applications/MAMP/htdocs/fresh_install/wp-content/themes/core/functions.php on line 3
该错误表明我有函数冲突。这促使我打开functions.php 文件我重命名了函数add_slug_body_classbody_slug_core 这再次产生了错误:

Fatal error: Cannot redeclare body_slug_core() in /Applications/MAMP/htdocs/fresh_install/wp-content/themes/core/functions.php on line 3
以下是导致问题的函数:

// Page slug body class
function body_slug_core( $classes ) {
global $post;
if ( isset( $post ) ) {
$classes[] = $post->post_type . \'-\' . $post->post_name;
}
return $classes;
}
add_filter( \'body_class\', \'body_slug_core\' );
接下来,我完全删除了该函数。这会产生以下错误:

Fatal error: Cannot redeclare remove_default_image_sizes() in /Applications/MAMP/htdocs/fresh_install/wp-content/themes/core/functions.php on line 23
此错误指的是中的下一个函数functions.php. 代码如下:

// Remove WP default image sizes
function remove_default_image_sizes( $sizes) {
    unset( $sizes[\'medium\']);
    unset( $sizes[\'large\']);
    return $sizes;
}
add_filter(\'intermediate_image_sizes_advanced\', \'remove_default_image_sizes\');
我重复了我为第一个函数所做的尝试(重命名然后完全删除该函数),但它只是将下一个函数标记为冲突。

我读到,这可能是由于WordPress网站被破坏造成的。事实并非如此,因为我只是通过MAMP在本地运行主题。我已经更改了函数的名称,排除了与WordPress核心文件的任何冲突。

我尝试了新安装的WordPress,它有一个干净的数据库,没有运行任何插件。为了重新获得对wp admin的控制,我将核心主题文件夹重命名为core\\ux。这会在wp admin中产生进一步的警告,可能与此无关:

Warning: implode(): Invalid arguments passed in /Applications/MAMP/htdocs/fresh_install/wp-includes/class-wp-theme.php on line 675
刷新页面时,警告消失。

WordPress版本:3.8.3

1 个回复
最合适的回答,由SO网友:Sam 整理而成

我的父主题(核心)的CSS格式不正确。顶部的代码为:

Theme Name: Core
Theme URI: http://www.domain.co.uk
Description:  The core theme.
Author: Squideyes
Author URI: http://www.domain.co.uk
Template: Core
Version: 1.0.0
Tags: clean, simple, easy
TheTemplate: 标记只应出现在子主题css中。这就是导致功能冲突的原因。

结束

相关推荐

从Functions.php中导入WordPress XML文件

我正在开发一个主题,它有不同的添加内容的方法,因此,Wordpress的默认安装不会显示任何内容。我想知道在主题被激活后,是否可以通过内部函数和/或挂钩自动导入XML文件?User installs theme > User activates theme > Code behind the scenes loads up an XML file and performs a silent import of its contents当前要导入XML文件,您必须为Wordpress