WordPressのTwenty Twenty-Oneのテーマのページナビゲーションの翻訳がおかしいので修正した話し

気になると修正箇所が出てくるWordpressのTwenty Twenty-Oneのテーマですが、ページナビゲーションの表示がとてもおかしいので修正してみます。

こんな感じでページ番号の頭に「固定ページ」が追加されて表示されてしまっています。

「固定ページ」って何でしょうか? このページナビゲーションを表示しているファイルは、/inc/template-tags.phpのようです。以下のthe_posts_pagination()で表示しています。

the_posts_pagination(
  array(
    /* translators: There is a space after page. */
    'before_page_number' => esc_html__( 'Page ', 'twentytwentyone' ),
    'mid_size'           => 0,
    'prev_text'          => sprintf(

しかし、’before_page_number’プロパティの’Page’が「固定ページ」と翻訳ファイルとリンクされているようで、おかしな表示になっています。

そこで、’before_page_number’プロパティを削除して、シンプルにページ番号で表示させるようにします。ついでに、前後のページ番号を3つ表示するように変更してしまいます。修正した結果は以下のようになります。

the_posts_pagination(
  array(
    /* translators: There is a space after page. */
    'mid_size'           => 3,
    'prev_text'          => sprintf(
    

最初、子テーマに変更した/inc/template-tags.phpを作ってあげても、その変更は反映されませんでした。いろいろ探ってみると、行き着いたのは以下のサイトです。

WordPress親テーマのincサブディレクトリ以下のファイルを子テーマで上書きしたい場合

POPWEB – Developer Blog

the_posts_pagination()を定義している関数twenty_twenty_one_the_posts_navigation() をfunction.phpに追加してあげればいいようです。function.phpに追加した結果は、以下の通りとなりました。

以上のように、まともな普通なページナビゲーションとなりました。

なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。