子テーマ化詳細’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年5月12日

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

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

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

マイナーチェンジ
blank
2020年3月23日

かれこれ一年近くほったらかしだったので、気合をいれて「テーマ変更」と思っていたのですが、、、いろいろ  続きを読む

6月の検索ワードまとめ
blank
2019年6月30日

6月の検索ワードのまとめです。 意外なところで「zabbixダウングレード」が複数回検索され、単独の  続きを読む

アクセシビリティ対策
blank
2019年6月23日

テーマカスタマイズの一環で、トップページに一覧表示されている「写真を左右交互に表示する」ようにした際  続きを読む

dockerとproxy
blank
2019年6月18日

dockerやdocker-composeをプロキシ環境下で使うのに苦労したので忘れないようにメモし  続きを読む

コメントを残す

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