在wordpress自定义帖子类型中保存复选框

时间:2011-07-26 11:02:34

标签: checkbox wordpress custom-post-type

嗨我有这样的复选框:

"languages" => array("name" => "languages",
"title" => "Languages","description" => "",
"style" => "checkboxes","options" => array("1" => "option1","2" => "option2")),

它们显示正常使用:

foreach($meta_box['options'] as $radio_value) { 
echo '<input type="checkbox" name="'.$meta_box['name'].'_value'.'"
value="'.$radio_value.'"'; if ($meta_box_value == $radio_value) { echo ' 
checked="yes"'; } echo '/> '.$radio_value. '<br/>';

现在我需要保存它们。

我使用此代码保存所有其他字段,但自然它只会保存最后一个选中的复选框:

if(get_post_meta($post_id, $meta_box['name'].'_value') == "")
   add_post_meta($post_id, $meta_box['name'].'_value', $data, true);
elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
   update_post_meta($post_id, $meta_box['name'].'_value', $data);
elseif($data == "")
  delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));

如何解决此问题以保存所有选中的复选框。

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:3)

以下是创建元框的有用链接:http://wp.tutsplus.com/tutorials/reusable-custom-meta-boxes-part-1-intro-and-basic-fields/

你最终可能会抛弃你现有的东西,但我在自己的博客上使用这种方法并且效果很好。