Wordpress 3.9 - 4.1和qTranslate问题

时间:2014-04-17 15:41:24

标签: php wordpress qtranslate

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

我收到此错误:

  

Thu Apr 17 17:21:52 2014] [warn] mod_fcgid:stderr:PHP Catchable   致命错误:类WP_Post的对象无法转换为字符串   在第455行的/wp-content/plugins/qtranslate/qtranslate_core.php中,   referer:http://www.mywebsite.com/

为什么会这样?

4 个答案:

答案 0 :(得分:47)

解决!!

您必须删除" $before。"在最后一行的qtranslate_core.php文件中,qtranslate与WP 3.9一起使用!

所以结果必须是:

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

我们将等待qTranslate升级!

感谢

答案 1 :(得分: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

答案 2 :(得分:1)

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

  1. 从信息中心转到插件> qTranslate>设置
  2. 点击"高级设置"链路
  3. 在"日期/时间转换"设置组选择"使用strftime而不是日期,并使用每种语言的预定义格式替换格式。" (设置为"使用strftime而不是date")。
  4. 瞧!

答案 3 :(得分:0)

不幸的是,以上所有内容对我都没有用,但我found another solution帮我解决了这个问题:

在文件 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);