こんにちは、阿久梨絵です!
WordPress で記事タイトルに半角の「< >」を入力すると、表示されなかったり、意図しない動作をすることがあります。これは、WordPressのテキスト処理機能やHTMLの仕様が関係しています。本記事では、その理由と対策について詳しく解説します!
1. なぜ半角「<>」がスルーされるのか?
HTMLタグとして認識される
・「< >」はHTMLのタグを囲む記号 → WordPressはタイトルをHTMLとして処理するため、タグとして認識される
・タグとして解釈されると、表示されない → 例えば `<title>` や `<script>` などのタグと誤認識される
WordPressのテキスト変換機能
・WordPressには「wptexturize」や「convert_chars」などの自動変換機能がある
・特殊文字を安全な形式に変換するため、<>が削除されることがある
セキュリティ対策
・HTMLインジェクションを防ぐために、特殊文字をフィルタリング → 悪意のあるコードの実行を防ぐ
・タイトルにHTMLタグを含めると、サイトの表示が崩れる可能性があるため、WordPressが自動で処理
2. 半角「<>」をタイトルに表示する方法
方法① エスケープ処理をする
HTMLタグとして認識されないように、エスケープ処理を行うことで表示可能になります。
・「<」と「>」を使う → `<WordPress>` → `<WordPress>`
・タイトルに直接入力すると、正しく表示される
方法② WordPressのフィルターを無効化
WordPressの自動変換機能を無効化することで、特殊文字をそのまま表示できます。
・`functions.php` に以下のコードを追加
add_filter(‘the_title’, ‘wptexturize’, ‘__return_false’);
add_filter(‘the_title’, ‘convert_chars’, ‘__return_false’);
・ただし、セキュリティリスクがあるため、慎重に適用する
方法③ タイトルを画像として表示
・どうしても「<>」をそのまま表示したい場合は、画像としてタイトルを作成し、アイキャッチ画像に設定する
方法④ 全角「<>」を使う
・半角「<>」がスルーされる場合、全角「<>」を使うことで回避可能
・読者に誤解を与えないように、注釈を入れるとより親切
まとめ
WordPress のタイトルに半角「<>」を使うとスルーされる理由は、HTMLタグとして認識されることや、WordPressの自動変換機能が影響しているためです。
・エスケープ処理(< >)を使えば表示可能!
・WordPressのフィルターを無効化する方法もあるが、慎重に適用!
・画像としてタイトルを作成するのも一つの手!
・全角「<>」を使うことで、HTMLタグとして認識される問題を回避!
WordPress の仕様を理解し、適切な方法でタイトルを設定することで、意図した表示が可能になります。
阿久梨絵でした!