sanitize_html_class

(2.8.0以降)
sanitize_html_class - HTMLのクラス名向けにサニタイズする

説明

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

関連

  • body_class - bodyタグのclass属性を表示する

お勧めコンテンツ

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 登録)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

query_posts(WP_Queryクラス)でカテゴリーを絞り込む(2011年9月6日 登録)

久しぶりにquery_posts関数を見直してみると、見知らぬパラメータがいくつか追加されていた。気になったのでカテゴリー関係の指定を'tax_query'パラメータを交えて整理してみた。

Widgets on dashboard:プラグイン作ってみました(2014年5月6日 登録)

サイトバーなどのページ構成パーツとしてウィジェットを利用し、ある程度頻繁に更新している場合、毎回ウィジェットページを表示するのはちょっとだけ面倒かも。そんなわけで、シンプルにダッシュボードで直接編集できればいいかなと思い、調べてみました。

「テキスト」モードと「ビジュアル」モードを行き来すると投稿内容の一部が消える(2015年3月14日 登録)

仕事がらサイトの引っ越し作業のお手伝いをすることがあるのですが、今回は引っ越しにあわせてWordPressを「3.7.1」から最新版「4.1.1」にアップデートすることになりました。ここで紹介するのはこの案件で発生したトラブルの話です。

投稿画面のウェジェットを2列にする(2013年1月25日 登録)

ダッシュボード画面ではスクリーンレイアウトを最大4列まで選択できるのに、投稿画面は1列か2列のどちらか。高解像度のディスプレイを使っていると、投稿画面では大画面のメリットを生かせていない理由がここにあるのではと感じ、3列対応にしてみた。

最終更新日時 : 2014-01-13 17:05