如何保存元复选框Wordpress

时间:2017-12-12 13:13:20

标签: php wordpress

我想保存一个带有所有帖子复选框的元数据,这是我的代码:

add_action('save_post','save_metaboxes');
function save_metaboxes($post_ID){

if(isset($_POST['is_viewpay'])) {

    if(!empty($_POST['is_viewpay'])){
        update_post_meta($post_ID, '_is_viewpay', 'active');
    } else {
        update_post_meta($post_ID, '_is_viewpay', '');
    }
}

}

问题是当我取消选中复选框并保存我的帖子时,它始终保持检查状态。我不知道为什么。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

取消选中该复选框后,isset($_POST['is_viewpay'])将评估为false,以便跳过剩余的代码。

相反,你可以这样做:

if(isset($_POST['is_viewpay'])) {
    update_post_meta($post_ID, '_is_viewpay', 'active');
} else {
    update_post_meta($post_ID, '_is_viewpay', '');
}

作为旁注,强烈建议您使用Nonces(这有助于保护您的网页免受恶意攻击)。