在自定义帖子类型metabox上创建复选框字段

时间:2018-09-25 19:19:04

标签: wordpress wordpress-theming

我正在处理以下代码。如何在“自定义帖子类型”中创建复选框并将其另存为自定义字段?

function render_metas( $post )
{
    $we_productMetas = get_post_custom( $post->ID );
    $onSale = isset( $we_productMetas['onSale_box'] ) ? esc_attr( $we_productMetas['onSale_box'][0] ) : '';
?>

<input type="checkbox" class=""  name="onSale_box" id="onSale-box" value="<?php echo $onSale; ?>" />


<?php
}

add_action( 'save_post', 'we_metas_save' );
function we_metas_save( $post_id )
{
if( isset( $_POST['onSale_box'] ) ){
        update_post_meta( $post_id, 'onSale_box', wp_kses( $_POST['onSale_box'], $allowed ) );
    }

}

1 个答案:

答案 0 :(得分:0)

尝试

 function render_metas( $post )
    {
        $onSale = get_post_meta( $post->ID,'onSale_box',true );
    ?>
    <input <?php checked($onSale,'yes',true); ?> type="checkbox" class=""  name="onSale_box" id="onSale-box" value="yes" />
    <?php
    }
    add_action( 'save_post', 'we_metas_save' );
    function we_metas_save( $post_id )
    {
        $new_value = isset( $_POST['onSale_box']) ?  $_POST['onSale_box'] : "no";
        update_post_meta( $post_id, 'onSale_box', $new_value );
    }