php 如何显示wordpress中选中的多个复选框?

nsc4cvqm  于 2023-08-02  发布在  PHP
关注(0)|答案(1)|浏览(123)

我正在显示复选框中列出的所有子页面,以便用户可以检查多个子页面。
我可以在数据库中插入复选框值。我得到的问题显示选中的复选框,我已经尝试了下面的代码,但得到一个错误
注意:数组到字符串的转换
我认为这个代码有一些问题。

$data.='<input type="checkbox" name="solution_innerpage_checked[]" value="'.$post->ID.'" '.checked(in_array($post->ID,$ids),$solution_innerpage_checked ,false).' ><label>'.esc_html(get_the_title()).'</label>';



function inner_childpage_list() {
    global $post;
    $solution_innerpage_checked = get_post_meta($post->ID, 'solution_innerpage_checked', true); // getting from custom fields 
    
    $args = array(
        'post_type' => 'solution',
        'orderby'=> 'date',
        'order'=> 'DESC',
        'post_status'=> 'publish',
        'post__not_in' => array($post->ID), //current child page id
        'post_parent'    => $post->post_parent,
    );
    $loop = new WP_Query($args);
    
    if ( $loop->have_posts() ) {
    $data='';
    while($loop->have_posts()): $loop->the_post();
    foreach($solution_innerpage_checked as $value){
       $ids[]= $value;
    }
      //print_r($ids); // Array ( [0] => 660 [1] => 971 [2] => 970 ) 
    $data.='<input type="checkbox" name="solution_innerpage_checked[]" value="'.$post->ID.'" '.checked(in_array($post->ID,$ids),$solution_innerpage_checked ,false).' ><label>'.esc_html(get_the_title()).'</label>';
    endwhile;
    }
    else{$data.='<div>pages are not created.</div>';}
    
    return $data;
    //wp_reset_query();
    }

字符串

pkwftd7m

pkwftd7m1#

只是换了这条线

$innerpage_checked = get_post_meta($post->ID, 'innerpage_checked', true);

字符串

$innerpage_checked[] = get_post_meta($post->ID, 'innerpage_checked', true);


返回数组。不是绳子。

相关问题