WPML
ステータス
解決済み
報告対象
WPML Multilingual CMS 4.6.9
解決されたバージョン
WPML 4.6.10
トピックタグ
Bug

問題の概要

WPMLで「すべてを翻訳する」モードを使用している場合、WordPressの予約投稿は完全には翻訳されません。タイトルのみが翻訳されますが、本文のコンテンツ、特にページビルダーの文字列は翻訳に送信されません。

回避策

続行する前に、サイトの完全なバックアップを取得していることを確認してください。
この修正には、WPMLとWPML 文字列翻訳の2つのプラグインでの変更が必要です。

1. まずWPMLから開始します:


  • …/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/App.phpファイルを開きます。

  • 36行目を探します。

  • 次を:
    			return 	defined( 'WPML_TM_VERSION' )
    			          && (
    				          is_admin()
    				          || ( defined( 'XMLRPC_REQUEST' ) && constant( 'XMLRPC_REQUEST' ) )
    				          || wpml_is_rest_request()
    			          );


  • 以下に置き換えます:
    			return 	defined( 'WPML_TM_VERSION' )
    			          && (
    				          is_admin()
    				          || ( defined( 'XMLRPC_REQUEST' ) && constant( 'XMLRPC_REQUEST' ) )
    				          || wpml_is_rest_request()
    						  || (defined('DOING_CRON') && DOING_CRON)
    			          );


2. 次に、WPML 文字列翻訳を変更します:

  • …/wp-content/plugins/wpml-string-translation/inc/package-translation/inc/wpml-package-translation.class.phpファイルを開きます。

  • 41行目を探します。

  • 次を:
    if ( is_admin() || $this->is_doing_xmlrpc() || wpml_is_rest_request() ) {


  • 以下に置き換えます:
    if ( is_admin() || $this->is_doing_xmlrpc() || wpml_is_rest_request() || (defined('DOING_CRON') && DOING_CRON) ) {

すべての既知の問題 →