12

在将 Wordpress 升级到软件的最新版本 3.9 后,我发现了一个错误。

我收到此错误:

2014 年 4 月 17 日星期四 17:21:52] [警告] mod_fcgid:stderr:PHP 可捕获的致命错误:WP_Post 类的对象无法在第 455 行的 /wp-content/plugins/qtranslate/qtranslate_core.php 中转换为字符串,referer :http ://www.mywebsite.com/

为什么会这样?

4

4 回答 4

48

解决了!!

您必须删除“ $before。” 在qtranslate_core.php最后一行的文件中,qtranslate 在这里与WP 3.9!

所以结果必须是:

return strftime($format, $date).$after;

我们将等待qTranslate升级!

谢谢

于 2014-04-17T15:44:36.680 回答
4

在自己调查了这个问题后,我想加我的 2 美分。我不喜欢破解 WP 的核心或插件。当我收到此线程作者指出的错误时,我通过进入Settings -> Languages并单击Advanced Settings选项卡来修复它。

在将Date / Time Conversion其设置为第一个选项的部分下,Use emulated date function.我将其更改为Use strftime instead of date.瞧,没有更多的错误,也没有破解核心!

如果这对您有用或者您有任何问题,请报告。

WordPress:v3.9.1 qTranslate:v2.5.39

于 2014-05-29T17:57:14.160 回答
1

对我来说(WP 4.1.1,qTranslate 2.5.39)以下帮助:

  1. 从仪表板中,转到插件 > qTranslate > 设置
  2. 点击“高级设置”链接
  3. 在“日期/时间转换”设置组中选择“使用 strftime 代替日期并用每种语言的预定义格式替换格式”。(设置为“使用 strftime 代替日期”)。

瞧!

于 2015-04-15T03:12:17.390 回答
0

不幸的是,以上所有对我都不起作用,但我找到 了另一个解决方案,它帮助我解决了这个问题:

在文件qtranslate_core.php你必须改变这一行

function qtrans_dateFromPostForCurrentLanguage($old_date, $format ='', $before = '', $after = '') {

function qtrans_dateFromPostForCurrentLanguage($old_date, $format ='') {

这条线

return qtrans_strftime(qtrans_convertDateFormat($format), mysql2date('U',$post->post_date), $old_date, $before, $after);

return qtrans_strftime(qtrans_convertDateFormat($format), mysql2date('U',$post->post_date), $old_date);
于 2014-10-24T17:12:41.983 回答