子テーマ化詳細’18

閲覧数: 23(0)

結局「今回も子テーマ化」してしまったので、それならそれでやりたい事はやっちゃいましょうという事で、まずは「前回のテーマ」でも導入した「投稿日」をクリックすると「月次アーカイブ」に遷移する仕掛け。オリジナルはテーマ直下の「functions.php」の「fotografie_posted_on()関数」を使っています。子テーマで「functions.php」の中の関数を書き換えるには前回もやった通り、オリジナルをコピーして「fotografie_posted_on2()関数」を作る事で実現しています。これは元のコード。

              $posted_on = sprintf(
                        esc_html_x( '%1$sPosted on%2$s %3$s', 'post date', 'fotografie' ),
                        '<span class="screen-reader-text">',
                        '</span>',
                        $time_string
                );

これが手を加えたコードです。作成先は「fotografie-child/inc/template-tags.php」の中です。呼び出しは子テーマの「functions.php」の中で行います。

                $year = get_the_time( Y, $post );
                $month = get_the_time( m, $post );
                $posted_on = sprintf(
                        /* translators: Post date */
                        _x( '%s', 'post date', 'fotografie' ),
                        '<a href="' . esc_url( get_month_link( $year, $month ) ) . '" rel="bookmark">' . $time_string . '</a>'
                );

子テーマの「functions.php」はだいたいこんな感じになります。最後の行が追加関数を呼び出しています。

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array('parent-style')
    );
}

get_template_part( 'inc/template', 'tags' );

今回のテーマ更新で新たに取り組んだのが「翻訳」です。これまでは「WordPress」の多言語対応のみでテーマ側の翻訳は行なっていませんでしたが、今回のテーマでは「翻訳」ファイルを作成してみました。まずは「翻訳」ファイルを読み込む設定から。先ほど改修した子テーマの「functions.php」に追加記載します。

function fotografie_child_languages(){
    load_theme_textdomain( 'fotografie', get_stylesheet_directory() . '/languages' );
}

add_action( 'after_setup_theme', 'fotografie_child_languages' );

「after_setup_theme」は親テーマの読み込みが終わった後に「fotografie_child_languages()」関数を実行するためです。「load_theme_textdomain()」関数が翻訳ファイルを読み込むための関数ですが、第1引数に親テーマと同じ「fotografie」を指定すると、親テーマの翻訳とマージしてくれます。

翻訳ファイルの作り方はいろいろありますが「POEDIT」を使うのが一番簡単です。Windows/Macどちらにもあります。オリジナルのテーマにテンプレートが用意されているので、それを使って翻訳ファイルを作る事が出来ます。「fotografie/languages/fotografie.pot」から多言語の翻訳ファイルを作成する事が可能です。上記の設定では、作成した翻訳ファイルは、子テーマの「languages」フォルダに置きます。テーマの場合、ファイル名は「ja.mo」と「ja.po」です。

[root@linux-ec2 languages]# dir
合計 40K
-rw-r--r-- 1 apache 4.5K  5月 31 18:04 2018 ja.mo
-rw-r--r-- 1 apache  30K  5月 31 18:04 2018 ja.po
[root@linux-ec2 languages]# 
【最終更新日: 2019年5月20日】
カテゴリーIT閑話, 公開タグ, , ,
検索精度を高める
2020年11月1日

検索ネタを連発するのはElasticsearchやElasticPresがバージョンアップした時のお  続きを読む

ElasticPress日本語設定2020年版
blank
2020年10月29日

ElasticsearchをWordpressで利用するためのプラグインであるElasticPres  続きを読む

ElasticPress 3.5
blank
2020年10月22日

Elasticsearch用のプラグインであるElasticPressがメジャーバージョンアップ(3  続きを読む

Elasticsearch 6.8.11
blank
2020年10月2日

2017年末に「2.4.6」から「5.6.5」へバージョンアップして以来の大幅バージョンアップです。  続きを読む

パンくずリスト詳細
blank
2020年5月12日

テーマの「マイナーチェンジ」に伴って「パンくずリスト」の仕様を若干変更しました。一つ前のテーマではパ  続きを読む

カテゴリーを制限する
blank
2020年5月11日

過去に何度も書いた「カテゴリー制限」の話、元はと言えば初期に書かれた「非公開」の記事が原因です。トッ  続きを読む

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください