【问题标题】:Check custom meta checkbox if it's checked Wordpress如果选中了 Wordpress,请选中自定义元复选框
【发布时间】:2017-09-27 21:34:26
【问题描述】:
    // 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。有没有办法可以测试 checked="checked" 值?如果我检查元素,这就是更新的内容。

【问题讨论】:

    标签: wordpress checkbox meta


    【解决方案1】:

    检查开启

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

    【讨论】:

    • 谢谢。我从输入中删除了“是”值并检查了。这似乎奏效了。不知道为什么我看到的所有答案都是“是”
    • 很高兴它有帮助。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多