wp metabox设置input checkbox 时设置选中的方法

Published
May 11, 2022
浏览次数 :  2

第一种时设置 value为1 循环到这个时候就是选中:
$options = get_option('post_formats');
  $formats = array('aside','gallery','chat','video','link','image','quote','status','audio');
  $outputs = '';
  foreach($formats as $format) {
      $checked = ( isset($options[$format]) && $options[$format] == 1 ? 'checked' : '');

    $outputs .= '<label><input type="checkbox" id="'.$format .'" name="post_formats['.$format.']" value="1" '.$checked.'>' .$format.'</label><br>';
    
  }

第二种是 用in_array() 方法,当input的值就在 输入结果的array里的话就设置选中: 

$lists = get_post_meta( $post_id, 'slb_list', false );


        $listQuery = new WP_Query(array(
          'post_type'  => 'slb_list',
        ));

        while($listQuery->have_posts()) : $listQuery->the_post();

         ?>
         <?php $checked = (in_array(get_the_ID(), $lists)) ? 'checked="checked"' : ''; ?>
        <li><label for="#"><input type="checkbox" name="slb_list[]" value="<?php echo get_the_ID(); ?>"<?php echo $checked; ?> ><?php the_title(); ?></label></li>

      <?php endwhile;wp_reset_postdata(); ?>

Top