unload_textdomain()


WordPress関数unload_textdomain()は、指定されたテキストドメインの読み込みを解除するために使用されます。この関数は、動的にロードされた翻訳ファイルを解放したい場合に役立ちます。

構文

unload_textdomain( string $domain );
  • $domain (string) — テキストドメインの名前。これは、ロードを解除したい翻訳ファイルに関連付けられた識別子です。

例1: テキストドメインの読み込み解除

以下のコードは、テキストドメイン'my-plugin'を読み込み解除します。

<?php unload_textdomain('my-plugin'); ?>

例2: プラグイン停止時にテキストドメインを解除

プラグインが停止されたときに翻訳ファイルを解放するコード。

<?php
function deactivate_my_plugin() {
    unload_textdomain('my-plugin');
}
register_deactivation_hook(__FILE__, 'deactivate_my_plugin');
?>

例3: 特定の条件でテキストドメイン解除

ユーザーが管理者である場合のみテキストドメインを解除するコード。

<?php
if (current_user_can('administrator')) {
    unload_textdomain('admin-plugin');
}
?>

例4: ロードされているテキストドメインを確認して解除

テキストドメインがロードされている場合のみ解除します。

<?php
if (is_textdomain_loaded('my-plugin')) {
    unload_textdomain('my-plugin');
}
?>

例5: テーマ切り替え時にテキストドメインを解除

テーマが変更されたときに関連する翻訳ファイルを解放するコード。

<?php
add_action('after_switch_theme', function() {
    unload_textdomain('my-theme');
});
?>

注意事項

  • この関数を使用すると、指定されたテキストドメインに関連付けられた翻訳データが即座に解放されます。
  • 読み込みを解除した後、再び翻訳を利用するにはload_textdomain()を使用して再ロードする必要があります。
  • テキストドメインがロードされていない場合、この関数は何もしません。

関連機能: