Php 如何保存元复选框WordPress

Php 如何保存元复选框WordPress,php,wordpress,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_v

我想为我的所有帖子保存一个带有复选框的元,下面是我的代码:

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', '' );
        }
    }

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


谢谢你的帮助

当您取消选中该复选框时,isset$\u POST['is\u viewpay']的计算结果将为false,因此它将跳过您剩余的代码

相反,你可以做:

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

作为旁注,强烈建议使用有助于保护页面免受恶意攻击的选项。

您确定需要设置的值为“active”(活动)吗?不是0和1吗?