多选值保存问题

时间:2013-12-12 07:24:03

标签: php wordpress save meta

我制作元框,并在此我选择多个选项

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

<select name="opt_meta_author" id="opt_meta_author" multiple="multiple">
    <?php
        $auth_args = array(
            'post_type' => 'author',
            'orderby' => 'title',
            'order' => 'ASC'
        );

        $authors = new WP_Query($auth_args);

        while($authors->have_posts()) :
            $authors->the_post();
    ?>
        <option value="<?php echo the_title() ?>">
            <?php echo the_title() ?>
        </option>
    <?php
        endwhile;
    ?>
</select>

当我选择多个选项时,它只保存一个选项,我想保存选定的选项

有什么建议

保存元值

$opt_meta_author = $_POST['opt_meta_author'];
update_post_meta( $post->ID, 'opt_meta_author', $opt_meta_author);

2 个答案:

答案 0 :(得分:1)

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

<select name="opt_meta_author" id="opt_meta_author" multiple="multiple">
                <?php
                    $auth_args = array(
                        'post_type' => 'author',
                        'orderby' => 'title',
                        'order' => 'ASC'
                    );
                $authors = new WP_Query($auth_args);

                while($authors->have_posts()) :
                    $authors->the_post();
            ?>
                    <option value="<?php echo the_title() ?>">
                        <?php echo the_title() ?>
                    </option>
            <?php
                endwhile;
            ?>
            </select>



要在存储时获取多个选定值,请执行以下操作:

$opt_meta_author = serialize($_POST['opt_meta_author']);

答案 1 :(得分:1)

var dump的{​​{1}}是什么?如果是数组,请使用$_POST['opt_meta_author'])将其转换为字符串,并将字符串保存在数据库