我将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/
为什么会这样?
答案 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),以下帮助:
瞧!
答案 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);