WordPressで記事一覧ページやカテゴリページのタイトルをカスタマイズしようとしたとき、「日本語と英語を両方表示したい」「取得方法はどれが正しいのか分からない」といった悩みはよくあります。本記事では、WordPressにおけるタイトル取得の基本と、保守性・設計面でスマートとされる実装方法について整理して解説します。
WordPressのタイトルとスラッグの基本構造
WordPressでは、投稿や固定ページにはそれぞれ「タイトル」と「スラッグ」という異なる情報が存在します。
タイトルは表示用の文字列、スラッグはURLや識別子として使われる英数字ベースの値です。
例えば「会社概要」というページでは、タイトルが「会社概要」、スラッグが「company-about」といった形になります。
不適切とされやすい取得方法とは
よくある実装として「固定ページのタイトルから日本語、スラッグから英語を取得する」という方法があります。
しかしこの方法は、表示ロジックとデータ構造が密結合になりやすく、設計上は推奨されにくい手法です。
例えばスラッグ変更時に英語表記も変わってしまうなど、意図しない影響が発生する可能性があります。
スマートな実装①:カスタムフィールドで言語情報を分離する
最も一般的で保守性が高い方法は、カスタムフィールド(post meta)を使って日本語・英語を分離する設計です。
例として「title_ja」「title_en」のように明示的にフィールドを分けることで、表示ロジックとデータを分離できます。
この方法は多言語対応や将来的な拡張にも強い構造になります。
スマートな実装②:ACFなどのフィールド管理ツールを使う
Advanced Custom Fields(ACF)などのプラグインを使うことで、管理画面から直感的に多言語タイトルを管理できます。
これにより開発者以外でも運用しやすくなり、ヒューマンエラーも減少します。
例えば「記事タイトルJP」「記事タイトルEN」といった入力欄を追加するだけで運用可能です。
スマートな実装③:多言語プラグインを利用する方法
WPMLやPolylangなどの多言語プラグインを利用すれば、言語ごとの投稿管理自体を分離できます。
この場合はタイトルやスラッグを無理に分解せず、言語単位で投稿を管理するのが基本設計になります。
例えば日本語記事と英語記事を別投稿として扱い、相互リンクさせる構造です。
どの方法が最もスマートかの判断基準
結論としては「スラッグ流用よりも、データを明示的に分離する設計」がスマートとされます。
小規模サイトではカスタムフィールド、大規模・多言語サイトでは専用プラグインが適しています。
将来的な運用や拡張性を考えると、表示ロジックに依存しない設計が重要になります。
まとめ
WordPressのタイトル管理は一見シンプルですが、取得方法によって保守性や拡張性に大きな差が出ます。
スラッグ流用のような簡易的な方法よりも、カスタムフィールドや多言語プラグインを使った分離設計が推奨されます。
適切な設計を行うことで、将来的な変更にも強い柔軟なサイト構造を実現できます。

コメント