如果已检查Wordpress,请检查自定义元复选框

时间:2017-09-27 13:27:05

标签: wordpress checkbox meta

    // Checkbox Meta
add_action("admin_init", "checkbox_init");

function checkbox_init(){
  add_meta_box("checkbox", "Checkbox", "checkbox", "post", "normal", "high");
}

function checkbox(){
  global $post;
  $custom = get_post_custom($post->ID);
  $field_id = $custom["field_id"][0];
 ?>

  <label>Check for yes</label>
  <?php $field_id_value = get_post_meta($post->ID, 'field_id', true);
  if($field_id_value == "yes") $field_id_checked = 'checked="checked"'; ?>
    <input type="checkbox" name="field_id" value="yes" <?php echo $field_id_checked; ?> />
  <?php

}

// Save Meta Details
add_action('save_post', 'save_details');

function save_details(){
  global $post;

if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
    return $post->ID;
}

  update_post_meta($post->ID, "field_id", $_POST["field_id"]);
}

我需要在帖子页面上添加自定义元复选框以启用某些内容。上面的代码来自另一个stackoverflow答案。当我点击更新帖子时,它确实保存了支票价值,但我不知道如何测试是否在我要显示内容的页面上进行了检查。

如果有值,则执行if (isset())测试,因此即使未检查它也始终返回true。有没有办法可以测试check =&#34; check&#34;值?如果我检查元素,那就是更新。

1 个答案:

答案 0 :(得分:1)

检查

if($field_id_value == "on") $field_id_checked = 'checked="checked"';