説明
sanitize_title_with_dashes() は、文字列を、小文字・ハイフン区切りのスラッグに整える関数です。sanitize_title() が内部で使います。
基本構文
sanitize_title_with_dashes( string $title, string $raw_title = '', string $context = 'display' ): string
引数
$title:整える文字列$raw_title:使われない引数$context:displayかsave
戻り値
整えられた文字列。
使い方(サンプル)
$slug = sanitize_title_with_dashes( 'Hello World' ); // hello-world
注意点
- 通常は、
sanitize_title()を使えば足ります。 - 日本語などの、英数字以外は、そのまま残らず、パーセントエンコードされた文字列になることがあります。
実務での使いどころ
- 独自の処理で、スラッグ(URL用の文字列)を、作るとき。
よくあるミスと対処
- 日本語の文字列に使い、期待した結果にならない。
- 通常は
sanitize_title()で足りるのに、直接使っている。
NG例
$slug = sanitize_title_with_dashes( '日本語のタイトル' ); // 期待した結果にならない場合がある
OK例
$slug = sanitize_title( 'Hello World' ); // hello-world
// 日本語だけのタイトルは、パーセントエンコードされた文字列になる
使い分け早見表
| 関数 | 役割 |
|---|---|
sanitize_title_with_dashes() |
スラッグの形に整える(内部で使われる) |
sanitize_title() |
スラッグを作る(通常はこちら) |
sanitize_key() |
キー用の文字列に整える |
関連項目
sanitize_title()、sanitize_key()
公式リファレンス:sanitize_title_with_dashes() | WordPress Developer Resources

コメント