説明
sanitize_hex_color() は、16進数のカラーコード(#fff や #ffffff)を検証する関数です。
基本構文
sanitize_hex_color( string $color ): string|void
引数
$color:カラーコード
戻り値
サニタイズ済みの文字列。
使い方(サンプル)
$color = sanitize_hex_color( $input );
注意点
- 不正な値は空文字ではなく
nullを返します。 - 先頭の
#が必要です。
実務での使いどころ
- カラーピッカーなどから入力された、色の値を、検証するとき。
- テーマのカスタマイザーで、色の設定を保存するとき(
sanitize_callback)。
よくあるミスと対処
- 不正な値では
null、空文字では空文字が返る。確認せずに使う。 #を付けずに渡している。#付きの値が、必要。- 色名(
redなど)を渡している。16進数の値だけが、対象。
NG例
update_option( 'my_color', sanitize_hex_color( $color ) ); // 不正な値では null が保存される
OK例
$color = sanitize_hex_color( wp_unslash( $_POST['color'] ) );
if ( $color ) {
update_option( 'my_color', $color );
}
使い分け早見表
| 関数 | 役割 |
|---|---|
sanitize_hex_color() |
# 付きの16進数の色を、検証する(不正なら null) |
sanitize_hex_color_no_hash() |
# なしの16進数の色を、検証する |
sanitize_text_field() |
1行のテキストを整える |
関連項目
公式リファレンス:sanitize_hex_color() | Function | WordPress Developer Resources

コメント