2014-09-20 55 views
0

我有一個前端表單提交給我的自定義文章類型和複選框。 <input type="checkbox" name="_my_checkbox[]" value="Yes"/> Yes <input type="checkbox" name="_my_checkbox[]" value="No"/> No <input type="checkbox" name="_my_checkbox[]" value="Maybe"/> Maybe如何比較WordPress管理中的兩個複選框陣列

之後,我將它保存爲後期元。 然後我需要管理員處理這個帖子和值。據我試圖完成保存和操縱一個值。我猜這個問題是在數組中的某個地方。 這裏是顯示元框的功能的一部分。

$get_my_meta = get_post_meta($post->ID, 'my_meta', true); $get_my_meta_data = array('Yes','No','Maybe');

 foreach ($get_my_meta_data as $key => $value) { ?> 

      <input type="checkbox" name="_admin_my_checkbox[]" value="<?php echo $value;?>"<?php if($value == $get_my_meta){echo 'checked';} ?> /><?php echo $value; 

     }` 

接着而來的節電功能

if($_POST['_admin_my_checkbox']) { 

     $my_checkbox_updater = $_POST['_admin_my_checkbox']; 
     update_post_meta($post_id, 'my_meta', $my_checkbox_updater);  

    } 

在這種情況下,當我檢查了一些複選框,並使用預期print_r值保存。我想這個問題在foreach循環內,但不知道可能是什麼。

回答

0

快速編輯。找到解決方案in_array()功能完美地完成這項工作。

foreach ($get_my_meta_data as $key => $value) { ?> 

     <input type="checkbox" name="_admin_my_checkbox[]" value="<?php echo $value;?>"<?php if(in_array($value,$get_my_meta)){echo 'checked';} ?> /><?php echo $value; 

    }