上級WP-CLIコマンド
WP-CLIコマンド
以下の WP-CLI コマンドを使用して、カスタム投稿、タクソノミーターム(タグとカテゴリー)、メディアアイテム、メニュー、ユーザーを翻訳することができます。
WP-CLIコマンドはデフォルトでログインユーザーなしで実行されます。翻訳エントリを作成するための適切な権限を持つために、--user オプションを使用してユーザーコンテキスト付きでコマンドを実行する必要があります:
wp gatotranslate post 123 --user=adminwp gatotranslate post
カスタム投稿(投稿、固定ページ、カスタム投稿タイプ)を翻訳します。
使い方
wp gatotranslate post <ids> [options]パラメーター
| パラメーター | 説明 |
|---|---|
<ids> | 翻訳する投稿IDのリスト(カンマまたはスペース区切り) |
オプション
指定しない場合、オプションはプラグインの設定値が使用されます。
| オプション | 説明 | 指定可能な値 |
|---|---|---|
--translate-slugs=<bool> | スラッグを翻訳するかどうか | true, false |
--default-provider=<provider> | デフォルトの翻訳プロバイダー | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--status-to-update=<status> | 更新対象となる投稿のステータス | draft, pending, publish, private, future, any |
--status-when-translated=<status> | 翻訳後の投稿のステータス | draft, pending, publish, private, current(ステータスを変更しない)、same-as-origin(元の投稿のステータスをコピーする) |
--copy-date=<bool> | 元の投稿の日付をコピーするかどうか | true, false |
--language-providers=<providers> | 言語プロバイダーマッピングのJSON文字列 | 言語コードをキーとし、プロバイダー名、"none"(その言語を無効化)、または "default"(デフォルトプロバイダーを使用)を値とするJSON文字列 |
--tasks=<tasks> | 実行するタスクのカンマ区切りリスト | translate-content, translate-entity-relationships, replace-internal-links |
--parts=<parts> | 変更するコンテンツ部分のカンマ区切りリスト | properties(タイトル、スラッグ、抜粋)、content(投稿コンテンツ)、meta(カスタムフィールド) |
--porcelain | スクリプトによる解析に適した必要最小限の情報のみを出力する | 値不要(フラグ) |
--fail-if-log-notifications | 実行中にログ通知が追加された場合に失敗する | 値不要(フラグ) |
--process-failed | 失敗した翻訳のみを処理する | 値不要(フラグ) |
使用例
# Translate post with ID 123
wp gatotranslate post 123 --user=admin
# Translate posts with IDs 123, 456, and 789
wp gatotranslate post 123,456,789 --user=admin
# Translate posts with IDs 123 and 456
wp gatotranslate post "123 456" --user=admin
# Translate post replicating the status and date of the original post
wp gatotranslate post 123 --user=admin --status-when-translated=same-as-origin --copy-date=true
# Translate post using ChatGPT as default provider
wp gatotranslate post 123 --user=admin --default-provider=chatgpt
# Translate post with a specific provider for each language
wp gatotranslate post 123 --user=admin --language-providers='{"es":"chatgpt","fr":"deepl"}'
# Translate post disabling a specific language
wp gatotranslate post 123 --user=admin --language-providers='{"de":"none"}'
# Translate only post properties (title, slug, and excerpt)
wp gatotranslate post 123 --user=admin --parts=properties
# Translate only post content and meta
wp gatotranslate post 123 --user=admin --parts=content,meta
# Only update the entity relationships for the target language
wp gatotranslate post 123 --user=admin --tasks=translate-entity-relationships
# Re-run translations for previously failed posts/languages only
wp gatotranslate post "123 456" --user=admin --process-failedwp gatotranslate term
タクソノミーターム(カテゴリー、タグ、カスタムタクソノミー)を翻訳します。
使い方
wp gatotranslate term <ids> [options]パラメーター
| パラメーター | 説明 |
|---|---|
<ids> | 翻訳するタームIDのリスト(カンマまたはスペース区切り) |
オプション
| オプション | 説明 | 指定可能な値 |
|---|---|---|
--translate-slugs=<bool> | スラッグを翻訳するかどうか | true, false |
--default-provider=<provider> | デフォルトの翻訳プロバイダー | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | 言語プロバイダーマッピングのJSON文字列 | 言語コードをキーとし、プロバイダー名、"none"(その言語を無効化)、または "default"(デフォルトプロバイダーを使用)を値とするJSON文字列 |
--tasks=<tasks> | 実行するタスクのカンマ区切りリスト | translate-content, translate-entity-relationships |
--parts=<parts> | 変更するコンテンツ部分のカンマ区切りリスト | properties(名前、スラッグ)、content(説明)、meta(カスタムフィールド) |
--porcelain | スクリプトによる解析に適した必要最小限の情報のみを出力する | 値不要(フラグ) |
--fail-if-log-notifications | 実行中にログ通知が追加された場合に失敗する | 値不要(フラグ) |
--process-failed | 失敗した翻訳のみを処理する | 値不要(フラグ) |
使用例
# Translate term with ID 1
wp gatotranslate term 1 --user=admin
# Translate terms with IDs 1, 2, and 3
wp gatotranslate term 1,2,3 --user=admin
# Translate term 1 disabling slug translation, and using OpenRouter as default provider
wp gatotranslate term 1 --user=admin --translate-slugs=false --default-provider=openrouterr
# Translate term 1 with a specific provider for each language
wp gatotranslate term 1 --user=admin --language-providers='{"es":"chatgpt","fr":"deepl"}'
# Translate disabling a specific language
wp gatotranslate term 1 --user=admin --language-providers='{"de":"none"}'
# Translate only term name and slug
wp gatotranslate term 1 --user=admin --parts=properties
# Translate only term description and meta
wp gatotranslate term 1 --user=admin --parts=content,meta
# Only update the entity relationships for the target language
wp gatotranslate term 1 --user=admin --tasks=translate-entity-relationships
# Re-run translations for previously failed terms/languages only
wp gatotranslate term 1,2,3 --user=admin --process-failedwp gatotranslate media
メディアアイテム(添付ファイル)を翻訳します。
使い方
wp gatotranslate media <ids> [options]パラメーター
| パラメーター | 説明 |
|---|---|
<ids> | 翻訳するメディアIDのリスト(カンマまたはスペース区切り) |
オプション
| オプション | 説明 | 指定可能な値 |
|---|---|---|
--translate-slugs=<bool> | スラッグを翻訳するかどうか | true, false |
--default-provider=<provider> | デフォルトの翻訳プロバイダー | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | 言語プロバイダーマッピングのJSON文字列 | 言語コードをキーとし、プロバイダー名、"none"(その言語を無効化)、または "default"(デフォルトプロバイダーを使用)を値とするJSON文字列 |
--tasks=<tasks> | 実行するタスクのカンマ区切りリスト | translate-content, translate-entity-relationships, replace-internal-links |
--parts=<parts> | 変更するコンテンツ部分のカンマ区切りリスト | properties(タイトル、スラッグ)、content(代替テキスト、キャプション、説明)、meta(カスタムフィールド) |
--porcelain | スクリプトによる解析に適した必要最小限の情報のみを出力する | 値不要(フラグ) |
--fail-if-log-notifications | 実行中にログ通知が追加された場合に失敗する | 値不要(フラグ) |
--process-failed | 失敗した翻訳のみを処理する | 値不要(フラグ) |
使用例
# Translate media item with ID 10
wp gatotranslate media 10 --user=admin
# Translate media items with IDs 10, 11, 12
wp gatotranslate media 10,11,12 --user=admin
# Translate media item with a specific provider for each language
wp gatotranslate media 10 --user=admin --language-providers='{"es":"chatgpt","fr":"deepl"}'
# Translate disabling specific languages
wp gatotranslate media 10 --user=admin --language-providers='{"de":"none","zh":"none"}'
# Translate only media title and slug
wp gatotranslate media 10 --user=admin --parts=properties
# Translate only media content (alt text, caption, and description) and meta
wp gatotranslate media 10 --user=admin --parts=content,meta
# Only update the entity relationships for the target language
wp gatotranslate media 10 --user=admin --tasks=translate-entity-relationships
# Re-run translations for previously failed media items/languages only
wp gatotranslate media 10,11,12 --user=admin --process-failedwp gatotranslate menu
メニューを翻訳します。
翻訳されるのは元の言語のメニューのみです。Polylangはメニューの言語情報を保存しないため、この情報は割り当てられたメニューの場所から判定されます。
メニューの翻訳は、以下の条件をすべて満たす場合にのみ実行されます:
- メニューに少なくとも1つのメニューの場所が割り当てられている
- その場所のいずれも翻訳言語用ではない
使い方
wp gatotranslate menu <ids> [options]パラメーター
| パラメーター | 説明 |
|---|---|
<ids> | 翻訳するメニューIDのリスト(カンマまたはスペース区切り) |
オプション
| オプション | 説明 | 指定可能な値 |
|---|---|---|
--default-provider=<provider> | デフォルトの翻訳プロバイダー | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | 言語プロバイダーマッピングのJSON文字列 | 言語コードをキーとし、プロバイダー名、"none"(その言語を無効化)、または "default"(デフォルトプロバイダーを使用)を値とするJSON文字列 |
--porcelain | スクリプトによる解析に適した必要最小限の情報のみを出力する | 値不要(フラグ) |
--fail-if-log-notifications | 実行中にログ通知が追加された場合に失敗する | 値不要(フラグ) |
使用例
# Translate menu with ID 5
wp gatotranslate menu 5 --user=admin
# Translate menus with IDs 5, 6, and 7
wp gatotranslate menu 5,6,7 --user=admin
# Translate menu with a specific provider for each language
wp gatotranslate menu 5 --user=admin --language-providers='{"es":"chatgpt","fr":"deepl"}'
# Translate disabling specific languages
wp gatotranslate menu 5 --user=admin --language-providers='{"de":"none","zh":"none"}'wp gatotranslate user
ユーザーの説明を翻訳します。
使い方
wp gatotranslate user <ids> [options]パラメーター
| パラメーター | 説明 |
|---|---|
<ids> | 翻訳するユーザーIDのリスト(カンマまたはスペース区切り) |
オプション
| オプション | 説明 | 指定可能な値 |
|---|---|---|
--default-provider=<provider> | デフォルトの翻訳プロバイダー | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | 言語プロバイダーマッピングのJSON文字列 | 言語コードをキーとし、プロバイダー名、"none"(その言語を無効化)、または "default"(デフォルトプロバイダーを使用)を値とするJSON文字列 |
--porcelain | スクリプトによる解析に適した必要最小限の情報のみを出力する | 値不要(フラグ) |
--fail-if-log-notifications | 実行中にログ通知が追加された場合に失敗する | 値不要(フラグ) |
使用例
# Translate user with ID 1
wp gatotranslate user 1 --user=admin
# Translate users with IDs 1, 2, and 3
wp gatotranslate user 1,2,3 --user=admin
# Translate users with IDs 1 and 2
wp gatotranslate user "1 2" --user=admin
# Translate user using ChatGPT as default provider
wp gatotranslate user 1 --user=admin --default-provider=chatgpt
# Translate user with a specific provider for each language
wp gatotranslate user 1 --user=admin --language-providers='{"es":"chatgpt","fr":"deepl"}'
# Translate user disabling a specific language
wp gatotranslate user 1 --user=admin --language-providers='{"de":"none"}'Prev