概要
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ファイルから翻訳ドメインと最終更新者の情報を取得し、変数に格納します。