フォーム投稿で選択したラジオ ボタンの値を取得できません。どのオプションを選択しても、値は「オン」になります。これはWordpress Plugin Optionsページにあることに注意してください。
以下のフォームのコード:
?>
<div class="wrap">
<?php screen_icon(); ?>
<h2>Title</h2>
<br />
<form action="options-general.php?page=page" method="post">
<table class="widefat">
<thead>
<tr>
<th></th>
<th>Site Name</th>
<th>Site URL</th>
<th>Username</th>
</tr>
</thead>
<tfoot>
<tr>
<th></th>
<th>Site Name</th>
<th>Site URL</th>
<th>Username</th>
</tr>
</tfoot>
<tbody>
<?php
$size = count($sites);
for ( $i = 0; $i < $size; $i++) {
echo '<tr>';
for ($j = 0; $j < 4; $j++) {
if ($j == 0) {
echo '<td><input type="radio" id="cta_siteID_'.$i.'" name="cta_siteID",value="'.$i.'"/></td>';
}
else
{
echo '<td>'.$sites[$i][$j-1].'</td>';
}
}
echo '</tr>';
}
?>
</tbody>
</table>
<br />
<input type="hidden" name="formType" value="main" />
<select name="selectedItem">
<option value="" selected="true">Select an Option</option>
<option value="add">Add Site</option>
<option value="edit">Edit Site</option>
<option value="delete">Delete Site</option>
</select>
<input type="submit" name="Apply" value="Apply" class="button-primary" />
</form>
</div>
ラジオ グループのアイテムを選択した後に var_dump($_POST) を実行すると、次のようになります。
onarray(4) { ["cta_siteID"]=> string(2) "on" ["formType"]=> string(4) "main" ["selectedItem"]=> string(4) "edit" ["Apply "]=> string(5) "適用" }
フォームを投稿する前に、HTML で値が正しくレンダリングされていますが、何が起こっているのかわかりません。
「オン」の値は、選択したラジオ オプションに関係なく表示され、何も選択されていない場合はまったく表示されません (予想どおり)。