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

このエントリーをはてなブックマークに追加

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 関数で第一引数に入れた変数と第二引数が一致するならチェック状態で表示される仕組みになっているだけだった。

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