WordPressの子テーマを翻訳できるようにした覚書
通常のテーマとの違い 通常のテーマでは、翻訳可能にするためにload_theme_textdomain関数をフックさせます。 [php] add_action(‘after_setup_theme’ […]
通常のテーマとの違い
通常のテーマでは、翻訳可能にするためにload_theme_textdomain関数をフックさせます。
[php]
add_action(‘after_setup_theme’, ‘my_theme_setup’);
function my_theme_setup(){
load_theme_textdomain(‘my_theme’, get_template_directory() . ‘/languages’);
}
[/php]
ただこの方法を子テーマでも採用すると、「get_template_directory()」が親テーマのディレクトリを取得してしまうため翻訳ファイルを読み込みません。
そのため翻訳ファイルの読み込み先を「get_template_directory()」ではなく「get_stylesheet_directory()」で取得します。
また親テーマにも翻訳ファイルが存在する場合もありますので、「load_child_theme_textdomain()」を使用します。
コードサンプル
[php]
add_action( ‘after_setup_theme’ , ‘childTheme_i18n’ );
function childTheme_i18n(){
$theme_uri = get_stylesheet_directory(). "/languages";
load_child_theme_textdomain( ‘childThemeName’, $theme_uri );
}
[/php]
「childThemeName」をテキストドメインに指定しておけば、これで読み込みしてくれるはずです。
ブックマークや限定記事(予定)など
WP Kyotoサポーター募集中
WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。
14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。