メタボックスを追加しました:管理者編集画面のチェックボックス
<input type="checkbox" name="changeposition" />
それでsanitize_text_field()
による入力タイプのテキストのように、どのようにしてチェックボックスからの入力をサニタイズできるのでしょうか。チェックボックスをサニタイズするためのこのような関数はありますか、それともカスタムメソッドを作成する必要がありますか?
必ずマークアップに値を設定してください。あなたが持っているべきです。
<input type="checkbox" name="changeposition" value="yes" />
それなら、私は sanitize_key()
をサニタイズするために使うことを勧めます。
キーは内部識別子として使用されます。小文字の英数字、ダッシュ、およびアンダースコアを使用できます。
Wordのyes
をキーとして考えてください。それがあなたが期待しているのは小文字の英数字値です。
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox も参照してください。
Value属性を省略した場合、送信されたデータにはデフォルト値のonが与えられるため、その場合の送信されたデータはsubscribe = onになります。
私はPHPで filter_var()
関数を提案します。それはあなたが使うことができるいくつかの定義済みのフィルタを持っています。
番号をサニタイズするには:
$sanitizedCheckbox = filter_var( $yourVar, FILTER_SANITIZE_NUMBER_INT );
文字列の場合は_NUM_INT
を_STRING
に変更するだけです。