[英]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.