2014-07-24 115 views
0

存在一個問題,即保存在元框內的複選框沒有保存。我可以保存一個值並讓它返回複選框的值,而不是多個值,我需要這些值。我已經嘗試添加一個foreach循環到update_post_meta代碼,但它不起作用。對我出錯的地方略有困惑。Wordpress保存元框複選框選擇

複選框代碼是:

$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 } ?> />&nbsp;<?php echo $area->locationName; ?><br> 
             <?php 
            endforeach; 
            ?> 
            </div> 
           <?php 
          endif; 
          ?> 

Update_post_meta代碼:

update_post_meta($post->ID, 'locationAssigned', $_POST['locationAssigned']); 

非常感謝!

回答

0

這不是對你的問題的剪切和粘貼的答案,但它應該有所幫助。 (我試圖解決類似的問題。)

您的問題一般:update_post_meta()保存一個單一的元值,而不是一個值的集合。因爲要保存多個複選框的值,你有兩個選擇:

  1. 呼叫update_post_meta()一次爲每個複選框的,創造了 收集與帖子相關聯的元值。
  2. 將所有複選框值合併爲一個字符串,並將其作爲單個值與一個update_post_meta()調用保存。

這兩個較早的問題是相關的,可能會指向正確的方向。