我有一个具有多个选项的插件,在前端,我使用的是一个有角度的应用程序,它将显示所有这些选项,因此我需要将其作为JSON保存在数据库中。
我大约有10个选项,并且我希望所有10个都以JSON格式保存在wp_options
中的一行中,目前update_option("fee", $_POST[$key]);
仅保存最后一个选项。
if(array_key_exists('submit_settings', $_POST))
{
foreach($global_settings->globals[0] as $key => $value)
{
update_option("fee", $_POST[$key]);
}
?>
<div id="setting-error-settings-update" class="updated settings_error notice is-dismissible"> <stron> Settings have been saved. </strong> </div>
<?php
}
foreach($global_settings->globals[0] as $key => $value)
{
echo '<label for='.$key.'>' . $key . '</label>';
echo '<input name='.$key.' value='.$value.' /> <br />';
}
答案 0 :(得分:0)
据我了解,每次执行for循环时,您都会覆盖选项fee
,因此每次仅保存最后一个选项。您必须做的是json_enocde
整个数组并将其保存为单个值在数据库中。提取时,您可以json_decode
来获取所有值。
类似这样的东西
$fees = [ 'one' =>'opt1', 'two' => 'opt2', 'three' => 'opt3'];
update_option("fee", json_encode($options));
// In get option
$get_options = json_decode(get_option("fee"));