WPML Export and Importアドオンによってインポートされた多言語コンテンツの処理をスケジュール設定する方法を学びます。
WPML Export and Importは、選択したインポートプラグインと連携して、インポートされたコンテンツに言語情報を追加し、翻訳をリンクします。インポートを自動的に実行するようにスケジュール設定している場合、WPML Export and Importを手動でトリガーする必要はありません。インポートが完了するたびにプロセスが実行されるようにスケジュール設定できます。
これにより手作業が不要になり、多言語コンテンツのインポートを最初から最後まで完全に自動化できます。
必要なプラグイン
エクスポートサイトとインポートサイトの両方で、必要なすべてのプラグインをインストールして有効化してください。
- サポートされているWordPressエクスポート・インポートプラグインまたはツール
- WPML
- WPML String Translation
- WPML Export and Import
- WPML Multilingual & Multicurrency for WooCommerce(WooCommerce製品をエクスポートおよびインポートする場合のみ)
インポートサイトで、インポートする言語に合わせてWPMLを設定してください。
希望のAPIを選択してください
スケジュールされたインポートの設定に応じて、以下のいずれかのAPIを使用してください。
- URL Endpoint API: これはcronジョブ用のHTTPエンドポイントです。WP All Importプラグインでアクションをスケジュール設定する際に最もよく使用されます。この方法では、既存の設定に別のURLを追加するだけです。
- Action Hook API。PHPを使用してインポートをスケジュール設定している場合(例: Action Schedulerを使用)、このアクションフックを追加して、スクリプトからWPML Export and Importプロセスを呼び出します。
これらの両方のプロセスにより、多言語コンテンツの静かで自動化された処理が実現します。
オプション1: URLエンドポイントを設定する
URLエンドポイントを設定するには:
1. 強力でユニークなセキュリティキーを wp-config.php に追加して作成します。
define( 'WPML_IMPORT_KEY', 'your-strong-secret-key-here' );
2. 処理URLを、スケジュールされたインポートの既存の設定に追加します。
URLの形式は次のとおりです。
https://yoursite.com/?wpml_import_trigger=your-strong-secret-key-here
WP All Import Proを使用した例
WP All Import Proで手動スケジュール設定を使用しているとします。設定は次のようになります。

次に、WPML Export and ImportのURLをトリガーする別のcronコマンドを追加するだけです。
wget -q -O - "https://yoursite.com/?wpml_import_trigger=your-strong-secret-key-here"
基本的に、この追加のURLは、他のスケジュールされたcronジョブを設定したのと同じ方法で設定します。
デバッグ
エラーが発生した場合に確認する方法が必要です。これを行うには、PHPでWP_DEBUG_LOGを有効にしてください。
これにより、ログエントリでエラーを確認できます。
オプション2: アクションフックを設定する
WPML Export and Importプロセスを呼び出すには、PHPコードに次のフックを追加してください。
// インポート処理をトリガー
do_action( 'wpml_import_process' );
インポートアクションをスケジュールする際は、次の行を使用してフックをバックグラウンドタスクとしてスケジュールしてください。
wp_schedule_single_event( time(), 'wpml_import_process' );
これで準備完了です!多言語コンテンツのインポートプロセスは完全に自動化され、手動での介入は一切不要です。