我从头开始构建了一个主题,名为“核心”。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_class
到
body_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