HAM MEDIA MEMO

WordPress オリジナルの設定ページでチェックボックスを利用する方法

チェックボックスを利用する

input の value にいれておくものかと思って単純に input の type を checkbox にしてみたけど、値は何も入ってこない。

それならばと思い checked 属性に入れてみたところ、 on が入ってくるため、チェックをつけていなくても保存すると必ずチェックが入るようになってしまう。つまりこれでもない。

あーでもない、こーでもないと検索したり試していると、WordPress の関数に checked というのが利用できるということが判明。

Function Reference/checked « WordPress Codex

value="1" を予めセットしておき、checked をいれておくと。ふむふむ。

ということで最終的に辿り着いたのが下記

<input type="checkbox" id="check_test" name="check_test" <?php checked(get_option('check_test'), 1); ?> value="1">

チェックをつけたら設定に value の 1 という値が保存されるので、 checked 関数で第一引数に入れた変数と第二引数が一致するならチェック状態で表示される仕組みになっているだけだった。

以前も使ったことあるのに、普段コード書かないと忘れますね。テキストタイプとは違って一工夫が必要だったのですねーということを再認識。