WordPressテーマ「Xwrite」を使っていると、カテゴリーアーカイブページのタイトルが次のように表示されます。

「カテゴリー名」の記事一覧

日本語としては自然ですが、

  • 英語を混ぜたミニマルなデザインにしたい
  • 引用符「」を消したい
  • よりスタイリッシュにしたい

という場合もありますよね。

今回は、カテゴリー名だけを表示し、右側に「Articles」と追加する方法を解説します。

完成イメージ

変更前:

「カテゴリー名」の記事一覧

変更後:

カテゴリー名 Articles

実装コード(functions.phpに追加)

以下のコードを子テーマのfunctions.phpに追加してください。

/* カテゴリーアーカイブの「」と「の記事一覧」を削除して「Articles」に変更 */
add_action('template_redirect', function () {

    if (is_category()) {

        ob_start(function ($buffer) {

            $buffer = preg_replace(
                '/<h1 class="contentsHeader__caption">「(.+?)」の記事一覧<\/h1>/',
                '<h1 class="contentsHeader__caption">$1 <span class="archive-en">Articles</span></h1>',
                $buffer
            );

            return $buffer;
        });

    }

});

コードの仕組み解説

① template_redirect を使っている理由

ページ描画直前に処理をフックし、HTML全体を書き換えています。

② is_category() で条件分岐

カテゴリーアーカイブページだけで動作させています。他ページには影響しません。

③ ob_start() で出力バッファを書き換え

ページ出力を一旦バッファに溜め、正規表現でタイトル部分だけを置換しています。

④ 正規表現の意味

/<h1 class="contentsHeader__caption">「(.+?)」の記事一覧<\/h1>/
  • 「(.+?)」 → カテゴリー名だけを抽出
  • $1 → 抽出したカテゴリー名

デザインを整えるCSS(おすすめ)

「Articles」を少し小さめにするとおしゃれになります。

.archive-en{
  font-size: 0.6em;
  letter-spacing: .1em;
  margin-left: .4em;
  opacity: .7;
}

英語部分をアクセントカラーにしても◎

.archive-en{
  color: #888;
  text-transform: uppercase;
}

注意点

  • 必ず子テーマに追加する
  • 正規表現はテーマ側のHTML構造が変わると動かなくなる可能性あり
  • 大規模サイトでは出力バッファ処理はやや負荷がかかる

もっとシンプルにしたい場合

「Articles」ではなく、

  • Archive
  • Posts
  • Category

などに変更することも可能です。

以下部分を書き換えるだけです。

'<span class="archive-en">Articles</span>'

まとめ

カテゴリーアーカイブの見た目は、サイト全体の印象を左右します。Xwriteはシンプルなデザインが魅力のテーマなので、英語を組み合わせるとより洗練された印象になります。ちょっとしたカスタマイズですが、ブランディング効果は高いのでぜひ試してみてください。

他にもXwriteのカスタマイズ記事を書いているので、あわせてチェックしてみてください。