Wordpress将多个插件选项转换为一个选项作为JSON

时间:2019-02-28 12:38:39

标签: php json wordpress

我有一个具有多个选项的插件,在前端,我使用的是一个有角度的应用程序,它将显示所有这些选项,因此我需要将其作为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 />';
               }

1 个答案:

答案 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"));