尝试使用update_options保存多个选择字段

时间:2014-08-26 10:42:20

标签: php html wordpress

我需要在我正在开发的插件的选择字段中显示所有页面的列表。我希望能够选择多个页面。我一直在阅读和阅读,但似乎还没有得到它的工作原理。我感到沮丧,因为这应该很容易......:/

我可以让选定的字段回显,但它们似乎没有保存,即当重新加载页面时,选择消失了。

字段:

<select id="exclude_page_from_cookies" name="exclude_page_from_cookies[]" multiple="multiple">
            <?php

            $pages = get_pages();
            foreach ( $pages as $page ) {
                $title = $page->post_title;
                $id    = $page->id;
                ?>

                <option id="<?php echo $id; ?>" value="<?php echo $title ?>" <?php selected( $title ); ?> >
                    <?php echo $title;?>
                </option>
            <?php
            }
            ?>
        </select>

保存

if ( isset( $_POST['exclude_page_from_cookies'] ) ) {
            foreach( $_POST['exclude_page_from_cookies'] as $exclude_page ) {
                echo $exclude_page;
                update_option( 'exclude_page_from_cookies', $exclude_page ) ;
            }
        }

提前谢谢大家。

2 个答案:

答案 0 :(得分:1)

尝试

if ( isset( $_POST['exclude_page_from_cookies'] ) ) {
    update_option('exclude_page_from_cookies',$_POST['exclude_page_from_cookies']);
}

答案 1 :(得分:0)

他保存(没有任何错误检查,不要忘记验证您的数据):

if (array_key_exists('exclude_pages_from_cookie', $_POST)) {
    update_option( 'exclude_pages_from_cookie', $_POST['exclude_pages_from_cookie']);
}

我刚注意到这篇文章有多久了。哦,好吧,无论如何都要回应!

感谢@vidhi让我记住旧代码