繁体   English   中英

WordPress的get_option不起作用

[英]Wordpress get_option not working

我想这之后从get_option得到数组值答案 ,以增加更多的,但它不是为我工作。 我找不到哪里出了问题。 当我不使用数组时,它可以工作。

工作代码(无数组):

add_action('admin_init', function() {
    register_setting('my-test', 'option1');
    register_setting('my-test', 'option2');
    register_setting('my-test', 'option3');
});

function my_function() {
?>
    <div class="wrap">
    <h1>Dashboard</h1>
    <form action="options.php" method="post">
    <?php
    settings_fields('my-test');
    do_settings_sections('my-test');
        ?>
         <input type="text" name="option1" value="<?php echo esc_attr( get_option('option1') ); ?>"" />
        <?php submit_button(); ?>
        </form>
    </div>
    <?php
}

然后我想使用数组来get_option。 我遵循了上面提到的答案,但这给了我错误。 请在下面查看此代码。

不起作用的代码(带有数组):

add_action('admin_init', function() {
    register_setting('my-test', 'option1');
    register_setting('my-test', 'option2');
    register_setting('my-test', 'option3');
});

function my_function() {
$new_option = esc_attr(get_option('option2'));
?>
    <div class="wrap">
    <h1>Dashboard</h1>
    <form action="options.php" method="post">
    <?php
    settings_fields('my-test');
    do_settings_sections('my-test');
        ?>
         <input type="text" name="option1" value="<?php echo esc_attr( get_option('option1') ); ?>"" />
         <input type="text" name="option2[first]" value="<?php echo $new_option['first']; ?>" />
         <input type="text" name="option2[second]" value="<?php echo $new_option['second']; ?>" />
        <?php submit_button(); ?>
        </form>
    </div>
    <?php
}

我想念什么吗? 任何帮助深表感谢。 提前致谢。

在下面的行中删除esc_attr函数。 该函数将字符串作为输入并返回字符串。 由于您正在处理数组,这将导致错误。

$new_option = get_option('option2');

您应该在实际输出值的地方使用该函数。

<input type="text" name="option2[first]" value="<?php echo esc_attr( $new_option['first'] ); ?>" />

希望能帮助到你。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM