复选框不会在 WP 管理员中保持选中状态

Checkboxes don't stay checked in WP admin

我在 WP post 仪表板中有一个复选框列表。

问题是在我更新 post 后它们不会保留 selected,所以我每次都必须再次 select 它们:

我试过了:

<input type="checkbox" name="industry[]" value="habia" <?php if(isset($_POST['habia'])){echo "checked='checked'";}?> /> habia<br>

<input type="checkbox" name="industry[]" value="habia" <?php if(isset($_POST['industry[]'])){echo "checked='checked'";}?> /> habia<br>

<input type="checkbox" name="industry[habia]" value="habia" <?php if(isset($_POST['industry']['habia'])){echo "checked='checked'";}?> /> habia<br>

echo $_POST['habia'] 没有 return 任何东西;

我的其余代码:

function industryApprovals(){//the field in the admin section
        global $post;
        $custom = get_post_custom($post->ID);
        $industry = $custom["industry"][0];
        ?>
        <input type="checkbox" name="industry[]" value="habia" <?php if(isset($_POST['habia'])){echo "checked='checked'";}?> /> habia<br>
        <input type="checkbox"/>

        Current values are: 
        <b><?php  
            $industry=unserialize($industry); //looks like wp always returns data from checkboxes serialized
            if($industry == false){ 
                echo "No selected industries.";
            } 
            else{
                $show_values = implode(", ", $industry);
                echo $show_values.'.'; 
            }
        ?></b> 

        <?php
    }

    function save_industry_approvals(){//preserve the data in the admin section
        global $post;
        update_post_meta($post->ID, "industry", $_POST["industry"]);
    }

谢谢!

通过检查数组的值解决了这个问题:

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

仍然不明白为什么 $_POST 没有 return 任何东西。