選択値やチェック状態をフォームに反映させる|WordPressテーマ作成

セレクトボックス

保存済みのセレクトボックス選択値をフォームに反映する場合、通常は下記のように条件判定するかと思います。

<select name="robots_index" id="robots_index">
<?php if ( $robots_index === "index, follow" ): ?>
    <option value="index, follow" selected="selected">index, follow</option>
<?php else: ?>
    <option value="index, follow">index, follow</option>
<?php endif; ?>
<?php if ( $robots_index === "index, nofollow" ): ?>
    <option value="index, nofollow" selected="selected">index, nofollow</option>
<?php else: ?>
    <option value="index, nofollow">index, nofollow</option>
<?php endif; ?>
<?php if ( $robots_index === "noindex" ): ?>
    <option value="noindex" selected="selected">noindex</option>
<?php else: ?>
    <option value="noindex">noindex</option>
<?php endif; ?>
</select>

面倒ですよね。WordPressではselected()メソッドを使うと簡単にselectedを出力できます。

<select name="robots_index" id="robots_index">
    <option value="index, follow"<?php selected( $robots_index, 'index, follow' ) ?>>index, follow</option>
    <option value="index, nofollow"<?php selected( $robots_index, 'index, nofollow' ) ?>>index, nofollow</option>
    <option value="noindex"<?php selected( $robots_index, 'noindex' ) ?>>noindex</option>
</select>

第1パラメータに判定する変数を、第2パラメータに判定する値を指定します。変数の値が第2パラメータと一致した場合にselectedが出力されます。

出力例

<select name="robots_index" id="robots_index">
    <option value="index, follow">index, follow</option>
    <option value="index, nofollow">index, nofollow</option>
    <option value="noindex" selected='selected'>noindex</option>
</select>

チェックボックス

チェックボックスの場合はchecked()メソッドを使用します。

<input type="checkbox" id="twitter" name="twitter" value="on"<?php checked( $twitter, 'on' ); ?>/>
<label for="twitter">Twitter</label><br />

第1パラメータに判定する変数を、第2パラメータに判定する値を指定します。変数の値が第2パラメータと一致した場合にcheckedが出力されます。

主力例

<input type="checkbox" id="twitter" name="twitter" value="on" checked='checked'/>
<label for="twitter">Twitter</label><br />
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

関連コンテンツ

スポンサードリンク

Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です