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

时间:2015-01-02 17:05:21

标签: php wordpress isset

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

问题是我更新帖子后不会保持选中状态,所以我每次都要再次选择它们:

我试过了:

<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']没有返回任何内容;

我剩下的代码:

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"]);
    }

谢谢!

1 个答案:

答案 0 :(得分:0)

通过检查数组中的值来解决它:

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

仍然不知道为什么$ _POST没有返回任何东西。