概要
wp_get_pomo_file_data関数は、POファイルのヘッダー情報を取得するためのUtility関数です。この関数は、翻訳ファイルのメタデータを取得し、テーマやプラグインに関する情報を抽出する際に便利です。以下のような機能を実装する際によく使われます。
- テーマやプラグインの翻訳情報を取得
- 多言語機能を持つプラグイン開発
- カスタムテーマやプラグインのインストール時のヘッダー情報取得
- ユーザーインターフェースの多言語化
- 翻訳ファイルの整合性チェック
- プラグインのメタデータ表示
- 更新情報の表示
- 言語スイッチャーによる動的な言語切替
構文
wp_get_pomo_file_data( string $file, array $props, string $domain = '' )
パラメータ
$file(string) : 読み込むPOファイルのパス。$props(array) : 取得したいヘッダー情報のキーを持つ配列。$domain(string) : 翻訳ドメインのスラグ(デフォルトは空)。
戻り値
- ヘッダー情報を格納した配列を返します。情報が見つからない場合は、空の配列を返します。
関連する関数
使用可能なバージョン
wp_get_pomo_file_data関数は、WordPress 2.5.0以降で使用可能です。
コアファイルのパス
wp-includes/pomo/translations.php
この関数のアクションでの使用可能性
| アクション | 使用例 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | 〇 |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head | 〇 |
サンプルコード
- POファイルから翻訳タイトルを取得する
$file = 'path/to/your.po';
$props = array('Title');
$data = wp_get_pomo_file_data($file, $props);
$title = $data['Title'];
説明: 指定されたPOファイルから”Title”ヘッダー情報を取得し、変数$titleに格納します。
- POファイルから翻訳バージョンを取得する
$file = 'path/to/your.po';
$props = array('Version');
$data = wp_get_pomo_file_data($file, $props);
$version = $data['Version'];
説明: 指定されたPOファイルから”Version”ヘッダー情報を取得し、変数$versionに格納します。
- 多言語プラグインでの使用例
add_action('plugins_loaded', function() {
$file = WP_LANG_DIR . '/plugins/my-plugin-ja.mo';
$props = array('Name', 'Version');
$data = wp_get_pomo_file_data($file, $props);
// 翻訳情報を使った処理
});
説明: プラグインが読み込まれる際に、特定のPOファイルからプラグイン名とバージョンを取得します。
- カスタムテーマの翻訳情報を取得する
add_action('after_setup_theme', function() {
$file = get_template_directory() . '/languages/my-theme-ja.po';
$props = array('Title', 'Author');
$data = wp_get_pomo_file_data($file, $props);
// カスタムテーマの翻訳情報を利用する処理
});
説明: テーマのセットアップ時にカスタムテーマのPOファイルからタイトルと作成者情報を取得します。
- 翻訳ドメインでの使用
$file = 'path/to/your.po';
$props = array('Domain', 'Last-Translator');
$data = wp_get_pomo_file_data($file, $props);
$domain = $data['Domain'];
説明: POファイルから翻訳ドメインと最終更新者の情報を取得し、変数に格納します。