Wordpress несколько вариантов плагинов для одной опции как JSON - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть плагин с несколькими опциями, во внешнем интерфейсе я использую угловое приложение, которое покажет все эти опции, поэтому мне нужно сохранить его в БД в виде JSON.

У меня около 10опций, и я хочу, чтобы все 10 были сохранены только в 1 строке в wp_options в формате JSON, в настоящее время 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 голосов
/ 28 февраля 2019

Насколько я понимаю, каждый раз при выполнении цикла 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"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...