“由于触发了致命的错误,因此无法激活插件。”
-
16-10-2019 - |
题
下面的代码包含在插件文件中。它只是试图针对WP数据库执行更新查询。但是,它会产生致命的错误。
Fatal error: Cannot redeclare ce3_cleanup()
我是否需要加载配置文件才能使ACESS达到$ WPDB->查询?
function ce3_cleanup()
{
$wpdb->query("update wp_postmeta set meta_key=replace(meta_key,'cb2_customHeader','_cb2_customHeader') where meta_key like 'cb2_customHeader'");
$wpdb->query("update wp_postmeta set meta_key=replace(meta_key,'cb2_customTitle','_cb2_customTitle') where meta_key like 'cb2_customTitle'");
}
register_activation_hook(__FILE__, 'ce3_cleanup');
?>
解决方案
编写该功能的推荐方法是:
function ce3_cleanup() {
global $wpdb;
$wpdb->query( "update $wpdb->postmeta set meta_key=replace(meta_key,'cb2_customHeader','_cb2_customHeader') where meta_key like 'cb2_customHeader'" );
$wpdb->query( "update $wpdb->postmeta set meta_key=replace(meta_key,'cb2_customTitle','_cb2_customTitle') where meta_key like 'cb2_customTitle'" );
}
register_activation_hook( __FILE__, 'ce3_cleanup' );
其他提示
不, Cannot redeclare...
意味着您已经有一个命名的函数 ce3_cleanup()
您网站上的其他地方。也许在另一个插件或主题中。