在升级到wordpress 4.8.1之后,我重新安装了一个网站,当我激活qtranslate插件时,我有一个致命的错误:
无法重新声明/home/xxx/www/xxx/wp-content/plugins/qtranslate/qtranslate_services.php:80) ()(以前在第91行的/home/xxx/www/xxx/wp-content/plugins/qtranslate-xp/ppqtranslate_services.php中用qs_base64_serialize声明)
以下是台词:
// serializing/deserializing functions
function qs_base64_serialize($var) {
if(is_array($var)) {
foreach($var as $key => $value) {
$var[$key] = qs_base64_serialize($value);
}
}
$var = serialize($var);
$var = strtr(base64_encode($var), '-_,', '+/=');
return $var;
}我试图对这些行进行评论,但后来又出现了另一个致命错误。
qtranslate (Version 2.5.39 | By Qian Qin)似乎已被正确激活,但不起作用。翻译+:Version 2.7.2 | By Papa Salvatore Mirko (Originally created by Qian Qin)
实际上,这两个插件页面是无法访问的,我找不到任何解决方案。
发布于 2017-09-07 13:41:17
根据qtranslate GitHub页面:
:这不是官方qTranslate的扩展。 qTranslate Plus是unOfficial修改的qTranslate版本。
由于qTranslate是一个完整的插件,而不是qTranslate的一个外接程序,所以您应该删除或至少禁用原始的qTranslate插件。
就像现在一样,你已经在你的网站上激活了插件的原始版本和分叉版本,所以这可能是你的问题的原因。
发布于 2017-09-07 11:56:20
试试下面的代码
if (!function_exists('qs_base64_serialize')) {
function qs_base64_serialize(){
if(is_array($var)) {
foreach($var as $key => $value) {
$var[$key] = qs_base64_serialize($value);
}
}
$var = serialize($var);
$var = strtr(base64_encode($var), '-_,', '+/=');
return $var;
}
}https://stackoverflow.com/questions/46095644
复制相似问题