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



お勧め

プラグインのロード順を制御する(2014年6月9日 更新)

これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。

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

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

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。

メタボックスをクラシックエディターのみで表示する(2019年1月15日 更新)

投稿画面向けにメタボックスを使ったプラグインがあり、それがブロックエディターで意図した通りに機能しなかった。この対処方法を考える過程でエディタータイプに応じてメタボックスを出し分けできる方法が見つかったので紹介したい。