子テーマ化詳細’18

閲覧数: 24(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閑話, 公開タグ, , ,
閃きは大事だw

このサイトは、あくまでもCMSであるWordPressの構築やクラウドであるAWSの運用ノウハウ取得  続きを読む

管理画面を制限する
blank

このサイトではネット上のさまざまな攻撃からの防御のため、Wordfenceプラグインの無料版を使用し  続きを読む

検索精度を高める
blank

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

タイトルを抜粋する
blank

関連記事プラグインを使って、記事本文の下に「関連記事」を表示している。情報としては、タイトル、画像、  続きを読む

閲覧数まとめ
blank

閃きついでに総合計と週合計をフラグで制御する方式に変更してみた。これまではベタに関数をまるまるコピー  続きを読む

緊急事態宣言で外出自粛になり...
blank

せっかくのゴールデンウィークなのに、2年連続で緊急事態宣言下となり、外出自粛中。暇なので小ネタで遊ぶ  続きを読む

スポンサーリンク

コメントを残す

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