説明
sanitize_title() は、文字列をスラッグ(URL用の文字列)に変換する関数です。
基本構文
sanitize_title( string $str ): string
引数
$str:処理する文字列
戻り値
サニタイズ済みの文字列。
使い方(サンプル)
$slug = sanitize_title( 'Hello World' );
注意点
- 日本語はそのままではなくURLエンコードされます。
- 投稿のスラッグ生成にも使われます。
実務での使いどころ
- タイトルから、URL用のスラッグを作るとき。
- 文字列を、小文字・ハイフン区切りにそろえるとき。
よくあるミスと対処
- 日本語は、そのまま残らない。URLエンコードされた形(
%e3%81...)になる場合がある。 - 空の結果になる場合の、代わりの文字列(
$fallback_title)を指定していない。 - IDや、キーの文字列に使っている。キーには
sanitize_key()を使う。
NG例
$slug = sanitize_title( '日本語のタイトル' ); // URLエンコードされた形になる場合がある
OK例
$slug = sanitize_title( 'Hello World', 'item' ); // hello-world(結果が空のときだけ、'item' になる)
使い分け早見表
| 関数 | 結果 |
|---|---|
sanitize_title() |
小文字・ハイフン区切りのスラッグ |
sanitize_key() |
小文字の英数字・ハイフン・アンダースコアのキー |
sanitize_file_name() |
ファイル名として使える文字列 |
関連項目
sanitize_title_with_dashes()、sanitize_key()
公式リファレンス:sanitize_title() | Function | WordPress Developer Resources

コメント