今天早上我已经将WordPress更新到了最新版本(4.0)。升级后,除了qTranslate之外,一切似乎都很好。
编辑器不显示语言切换器选项卡,qtranslate抛出以下警告:
qTranslate编辑器已被禁用,因为它尚未使用此版本的WordPress进行测试。这个步骤是一个安全功能,以提供一个安全的WordPress的功能。要重新激活,请单击此处(可能导致数据丢失)。若要删除此消息,请将qTranslate升级到适当的版本。
在从上面的点击这里链接激活插件时,语言切换选项卡是可见的,但它们并没有按预期工作。单击文本选项卡时,它将不显示任何内容。
在这篇文章的帮助下,我在WordPress 3.9.2中解决了同样的问题,但在新版本中,它似乎不起作用。
首先,备份数据库,然后编辑主插件文件qtranslate/qtranslate.php
,将支持的版本更改为'4.0'
:
// qTranslate Editor will only activated for the given version of Wordpress.
// Can be changed to use with other versions but might cause problems and/or data loss!
define('QT_SUPPORTED_WP_VERSION', '3.8.1');
如果没有冲突或错误,插件应该可以正常工作。
我也更新了qtranslate,只是在qtranslate.php中更改了版本,但在WP支持博客上,我发现了一个线程,有些人也不得不更改qtranslate_core中的一行在线455
return $before.strftime($format, $date).$after;
至
return strftime($format, $date).$after;
更改它并没有影响我的qtrans插件,但请记住它,因为它可能在未来有用。
包括上面的所有评论,下面的帖子也帮助我解决了这个问题。
https://gist.github.com/warenhaus/10990386
我刚刚安装了wordpress 4.0.1,收到了同样的消息。只需在以下文件中尝试此更改:qtranslate/qtranslate.php,它似乎有效:
//qTranslate编辑器将仅为Wordpress的给定版本激活。//可以更改为与其他版本一起使用,但可能会导致问题和/或数据丢失!定义('QT_SUPPORTED_WP_VERSION','3.8.1');
至
define('QT_SUPPORTED_WP_VERSION','4.0.1');
谢谢你,它帮了很多忙!
将以下功能的访问级别更改为public:
public display_tablenav()
public get_table_classes()
在qtranslate-x\admin\qtx_configuration.php文件中。
您可以看到,在这个版本中,QTX_LanguageList
是从WP_List_Table
类扩展而来的,这些函数是公共的:
class QTX_LanguageList extends WP_List_Table
{
private $_clean_uri;
private $_language_names;
public function __construct($language_names,$clean_uri) {
parent::__construct(array('screen' => 'language'));
$this->_language_names = $language_names;
$this->_clean_uri = $clean_uri;
}
public function get_columns() {
return array(
'code' => _x('Code', 'Two-letter Language Code meant.', 'qtranslate'),
'flag' => __('Flag', 'qtranslate'),
'name' => __('Name', 'qtranslate'),
'action' => __('Action', 'qtranslate'),
'edit' => __('Edit', 'qtranslate'),
'stored' => __('Stored', 'qtranslate')
);
}
protected function column_default( $item, $column_name ) { return $item[$column_name]; }
protected function get_default_primary_column_name() { return 'name'; }
protected function display_tablenav($which){}
protected function get_table_classes() { return array( 'widefat', 'qtranxs-language-list' ); }
......
}
免费插件似乎已经被杀死了。
但付费版本仍然存在