有一个问题,即metabox中的复选框不能保存。我可以保存一个值并让它将复选的值返回到复选框,而不是多个值,这是我需要的。我尝试在update_post_meta代码中添加一个foreach循环,但它没有用。对于我出错的地方有点困惑。
复选框代码是:
$areas = $wpdb->get_results("SELECT * FROM locations ORDER BY locationName ASC");
if( count($areas) ) :
?>
<div id="locationAssignedBoxes" size="1">
<?php
foreach($areas as $area) :
?>
<input type="checkbox" id="locationAssigned" name="locationAssigned" value="<?php echo $area->id; ?>"<?php if(get_post_meta($post->ID, 'locationAssigned', true) == $area->id) { ?> checked="checked"<?php } ?> /> <?php echo $area->locationName; ?><br>
<?php
endforeach;
?>
</div>
<?php
endif;
?>
Update_post_meta代码是:
update_post_meta($post->ID, 'locationAssigned', $_POST['locationAssigned']);
非常感谢!
答案 0 :(得分:0)
这不是对您的问题的剪切和粘贴答案,但它应该有所帮助。 (我正试图解决类似的问题。)
您的问题一般: update_post_meta()保存单个元值,而不是值集合。由于您要保存多个复选框的值,因此您有两种选择:
这两个早期的问题是相关的,可能会指向正确的方向。