复选框不会在 WP 管理员中保持选中状态
Checkboxes don't stay checked in WP admin
我在 WP post 仪表板中有一个复选框列表。
问题是在我更新 post 后它们不会保留 selected,所以我每次都必须再次 select 它们:
我试过了:
<input type="checkbox" name="industry[]" value="habia" <?php if(isset($_POST['habia'])){echo "checked='checked'";}?> /> habia<br>
或
<input type="checkbox" name="industry[]" value="habia" <?php if(isset($_POST['industry[]'])){echo "checked='checked'";}?> /> habia<br>
或
<input type="checkbox" name="industry[habia]" value="habia" <?php if(isset($_POST['industry']['habia'])){echo "checked='checked'";}?> /> habia<br>
echo $_POST['habia']
没有 return 任何东西;
我的其余代码:
function industryApprovals(){//the field in the admin section
global $post;
$custom = get_post_custom($post->ID);
$industry = $custom["industry"][0];
?>
<input type="checkbox" name="industry[]" value="habia" <?php if(isset($_POST['habia'])){echo "checked='checked'";}?> /> habia<br>
<input type="checkbox"/>
Current values are:
<b><?php
$industry=unserialize($industry); //looks like wp always returns data from checkboxes serialized
if($industry == false){
echo "No selected industries.";
}
else{
$show_values = implode(", ", $industry);
echo $show_values.'.';
}
?></b>
<?php
}
function save_industry_approvals(){//preserve the data in the admin section
global $post;
update_post_meta($post->ID, "industry", $_POST["industry"]);
}
谢谢!
通过检查数组的值解决了这个问题:
<input type="checkbox" name="industry[]" value="habia" <?php if (in_array("habia", $industry)){echo "checked='checked'";}?> /> habia<br>
仍然不明白为什么 $_POST 没有 return 任何东西。
我在 WP post 仪表板中有一个复选框列表。
问题是在我更新 post 后它们不会保留 selected,所以我每次都必须再次 select 它们:
我试过了:
<input type="checkbox" name="industry[]" value="habia" <?php if(isset($_POST['habia'])){echo "checked='checked'";}?> /> habia<br>
或
<input type="checkbox" name="industry[]" value="habia" <?php if(isset($_POST['industry[]'])){echo "checked='checked'";}?> /> habia<br>
或
<input type="checkbox" name="industry[habia]" value="habia" <?php if(isset($_POST['industry']['habia'])){echo "checked='checked'";}?> /> habia<br>
echo $_POST['habia']
没有 return 任何东西;
我的其余代码:
function industryApprovals(){//the field in the admin section
global $post;
$custom = get_post_custom($post->ID);
$industry = $custom["industry"][0];
?>
<input type="checkbox" name="industry[]" value="habia" <?php if(isset($_POST['habia'])){echo "checked='checked'";}?> /> habia<br>
<input type="checkbox"/>
Current values are:
<b><?php
$industry=unserialize($industry); //looks like wp always returns data from checkboxes serialized
if($industry == false){
echo "No selected industries.";
}
else{
$show_values = implode(", ", $industry);
echo $show_values.'.';
}
?></b>
<?php
}
function save_industry_approvals(){//preserve the data in the admin section
global $post;
update_post_meta($post->ID, "industry", $_POST["industry"]);
}
谢谢!
通过检查数组的值解决了这个问题:
<input type="checkbox" name="industry[]" value="habia" <?php if (in_array("habia", $industry)){echo "checked='checked'";}?> /> habia<br>
仍然不明白为什么 $_POST 没有 return 任何东西。