ワードプレスのload_textdomain関数の使用方法・解説

概要

load_textdomain関数は、WordPressが多言語対応を実現するために使用する関数で、特定の言語用の翻訳ファイル(.moファイル)をロードします。この関数は、プラグインやテーマが提供する翻訳リソースをロードする際によく使われ、以下のような機能に活用されます。

  1. プラグインやテーマの国際化(i18n)をサポート
  2. ユーザーインターフェースの多言語化
  3. カスタムポストタイプの翻訳
  4. オプションページの翻訳
  5. ウィジェットのラベルの翻訳
  6. ショートコードの翻訳
  7. バリデーションメッセージの翻訳
  8. エラーメッセージの翻訳

構文

load_textdomain( $domain, $mofile );

パラメータ

  • $domain (string) – ネームスペース、特定のプラグインまたはテーマを識別するために使用します。
  • $mofile (string) – ロードする.moファイルへの完全なパスまたは相対パスです。

戻り値

成功した場合はtrueを、失敗した場合はfalseを返します。

関連する関数

使用可能なバージョン

この関数は、WordPress 2.1以降で利用可能です。

コアファイルのパス

この関数は、wp-includes/l10n.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

サンプルコード

サンプル1: プラグインのテキストドメインをロードする

function my_plugin_load_textdomain() {
    load_textdomain('my-plugin-domain', dirname(__FILE__) . '/languages/my-plugin-domain-ja.mo');
}
add_action('plugins_loaded', 'my_plugin_load_textdomain');

このサンプルは、プラグインの翻訳ファイルをロードして、特定の言語に適切な表示を提供します。

サンプル2: テーマのテキストドメインをロードする

function my_theme_load_textdomain() {
    load_textdomain('my-theme-domain', get_template_directory() . '/languages/my-theme-domain-ja.mo');
}
add_action('after_setup_theme', 'my_theme_load_textdomain');

このサンプルでは、テーマの言語ファイルを指定してロードします。

サンプル3: カスタムウィジェットの翻訳を追加する

class My_Custom_Widget extends WP_Widget {
    function __construct() {
        load_textdomain('my-widget-domain', dirname(__FILE__) . '/languages/my-widget-domain-ja.mo');
        parent::__construct('my_custom_widget', __('My Custom Widget', 'my-widget-domain'));
    }
}

ここでは、カスタムウィジェットの表示名を翻訳で設定しています。

サンプル4: ショートコードのテキストドメインを設定

function my_shortcode_function() {
    load_textdomain('my-shortcode-domain', dirname(__FILE__) . '/languages/my-shortcode-domain-ja.mo');
    return __('Hello, World!', 'my-shortcode-domain');
}
add_shortcode('my_shortcode', 'my_shortcode_function');

このコードは、ショートコードが翻訳されたメッセージを表示することを可能にします。

サンプル5: カスタム投稿タイプの翻訳を行う

function create_my_custom_post_type() {
    load_textdomain('my-custom-post-type-domain', dirname(__FILE__) . '/languages/my-custom-post-type-domain-ja.mo');
    register_post_type('my_custom_type', array(
        'labels' => array(
            'name' => __('My Custom Types', 'my-custom-post-type-domain'),
        ),
        'public' => true,
    ));
}
add_action('init', 'create_my_custom_post_type');

このサンプルでは、カスタム投稿タイプのラベルを翻訳しながら登録しています。

この関数について質問する


上の計算式の答えを入力してください