sanitize_html_class

説明

string sanitize_html_class( string $class [ , string $fallback = '' ] )
HTMLのクラス名向けにサニタイズする。

パラメータ

  • $class
    クラス名を指定。
  • $fallback
    サニタイズした結果が空になった場合に代替となるクラス名を指定(省略時は'')。

返り値

サニタイズしたクラス名を返す。

注意

パラメータ$classに日本語のURLエンコードしたものが含まれる場合、それらは除外される。例えば'未分類'カテゴリーのスラッグは'%e6%9c%aa%e5%88%86%e9%a1%9e'となるが、これを本関数でサニタイズした場合の返り値は''となる。

パラメータ$fallbackはサニタイズされないので、クラス名として有効なもの(半角英数字、_、-の組み合わせ)を指定しなければならない。


使用例

  • $categoryのslugプロパティをHTMLのクラス名向けにサニタイズする。
    <?php $class = sanitize_html_class( $category->slug ); ?>
  • $categoryのslugプロパティをHTMLのクラス名向けにサニタイズする。slugプロパティが無効な内容の場合はidとする。
    <?php $class = sanitize_html_class( $category->slug, $category->id ); ?>

フィルター

サニタイズしたクラス名を返す直前に'sanitize_html_class'フィルターを呼び出す。パラメータ$sanitizedにはサニタイズしたクラス名が、その他のパラメータには本関数が受け取った値となる。
return apply_filters( 'sanitize_html_class', $sanitized, $class, $fallback );

アクション

直接実行するアクションはありません。

ソースファイル

/wp-includes/formatting.php

最終更新 : 2014年01月13日 17:05



お勧め

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Twenty Seventeenのフォントサイズを変更してみた(2021年12月15日 更新)

先日投稿した「続テーマを変更せずにWebフォントを使ってみた」では、テーマ「Twenty Seventeen」でもWebフォントを使えるようにした。その際、「Twenty Seventeen」のフォントサイズが少し小さく感じたので、今回はフォントサイズを調整してみた。

HTML entities button:プラグイン作ってみました(2021年4月28日 更新)

以前投稿した「HTML編集モードに定型文ボタンを追加する」をアレンジして、HTML編集モードに特殊文字(HTMLエンティティ)を挿入できるボタン、顔文字を挿入できるボタン、過去の投稿ページのリンクを挿入できるボタンを追加するプラグインを作ってみました。HTML編集モードの作業効率を向上させるプラグインです。2.1.0では「Dashiconsの挿入」を追加しました。HTML編集モードをメインに使用されている方は、お試しあれ。

5.7の機能拡張:エクスポートファイルに更新日時が追加ほか(2021年2月23日 更新)

WordPressはサイト移行を支援する機能として投稿情報のエクスポート機能を備えている。5.7ではこのエクスポート機能が改良され、更新日時情報が追加されるようだ。

query_posts(WP_Queryクラス)でカスタムフィールドを使う(2011年9月15日 更新)

先週3回にわたってtax_queryパラメータを使ったカテゴリーや投稿タグ、投稿フォーマットの絞り込みを整理したが、その途中で目に付いたのが'meta_query'パラメータ。この'meta_query'パラメータは、カスタムフィールドの絞り込み条件を指定するためのもので、3.2で登場した新しいパラメータのようだ。