WPML

问题概述

如果您使用的是 WPML 4.6.7 并且尝试断开翻译与其原始文章的连接,当您在 WordPress 编辑器的这是以下内容的翻译下拉菜单中选择无时,断开连接不会生效。相反,WPML 会自动撤销更改,并在您更新翻译后将翻译重新链接到原始文章。

临时解决方法

此问题已在 WPML 4.6.8 中修复。 更新即可在您的站点上解决此问题,因此只有在您还无法更新时,才需要此临时解决方法。

请确保在继续操作前对网站进行完整备份。

  • 打开 …/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-set-language.php 文件。
  • 找到第 169 行。
  • 将:
    private function change_translation_of( $trid, $el_id, $el_type, $language_code, $src_language_code ) {
    	$src_language_code = empty( $src_language_code )
    		? $this->sitepress->get_source_language_by_trid( $trid ) : $src_language_code;
    	if ( $src_language_code !== $language_code ) {
    		$this->wpdb->update(
  • 更改为:
    private function change_translation_of( $trid, $el_id, $el_type, $language_code, $src_language_code ) {
    	$src_language_code = empty( $src_language_code ) && !is_null($src_language_code)
    		? $this->sitepress->get_source_language_by_trid( $trid ) : $src_language_code;
    	if ( $src_language_code !== $language_code ) {
    		if ($src_language_code == NULL) {
    			$trid = $this->wpdb->get_var("SELECT MAX(trid) FROM " . $this->wpdb->prefix . "icl_translations") + 1;
    		}
    		$this->wpdb->update(

所有已知问题

仍然遇到此问题?

如果更新无法解决问题,请提出支持问题,我们将与您一起排查。