【问题标题】:Wordpress get_option not workingWordPress get_option 不起作用
【发布时间】:2017-10-04 05:32:33
【问题描述】:

我想在 answer 之后从 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
}

我错过了什么吗?任何帮助深表感谢。提前致谢。

【问题讨论】:

    标签: php arrays wordpress forms function


    【解决方案1】:

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

    $new_option = get_option('option2');
    

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

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

    希望对您有所帮助。 :)

    【讨论】:

    • 抱歉回复晚了。删除 esc_attr 后它现在可以工作了。
    猜你喜欢
    • 1970-01-01
    • 2015-07-06
    • 2012-02-11
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多