sanitize_title_with_dashes()


WordPressのsanitize_title_with_dashes()関数は、与えられた文字列を「スラッグ」(URLフレンドリーな形式)に変換するために使用されます。この関数は、スペースや特殊文字をハイフン(-)で置き換え、URLとして適切な文字列を生成します。

構文

sanitize_title_with_dashes( string $title, string $raw_title = '', string $context = 'display' );

引数の説明

  • $title (string) — スラッグに変換する元の文字列。
  • $raw_title (string) — 元のタイトル(オプション)。指定しない場合は$titleが使用されます。
  • $context (string) — 変換のコンテキスト。デフォルトは'display'です。

例 1: 単純な文字列のスラッグ変換

以下のコードは、文字列「こんにちは 世界」をスラッグに変換します。

<?php echo sanitize_title_with_dashes( 'こんにちは 世界' ); ?>

例 2: 特殊文字を含む文字列の変換

特殊文字を含む文字列を変換します。

<?php echo sanitize_title_with_dashes( 'テスト@2024!!#' ); ?>

例 3: コンテキストを指定した変換

コンテキストを指定してタイトルを変換します。

<?php echo sanitize_title_with_dashes( '特別なタイトル', '', 'save' ); ?>

例 4: 生タイトルを指定して変換

$raw_title引数を使用した例です。

<?php echo sanitize_title_with_dashes( '変換後のタイトル', '生のタイトル' ); ?>

例 5: 動的に取得したタイトルの変換

投稿タイトルを取得してスラッグに変換します。

<?php
$post_title = get_the_title( get_the_ID() );
echo sanitize_title_with_dashes( $post_title );
?>

注意事項

  • $titleが空の場合、戻り値は空文字列になります。
  • URLで使用するため、ハイフン以外の特殊文字は削除されます。
  • 文字列がUTF-8形式でない場合、予期しない結果になる可能性があります。

関連機能: