Как назначить опции WordPress для многомерного массива - PullRequest
1 голос
/ 04 ноября 2010

хорошо, я столкнулся с проблемой при работе над новым плагином,

параметры плагина хранятся в виде сериализованного массива в базе данных wordpress.сейчас массив выглядит так, как показано ниже.

$wp_options = array(
       'ptinstalldir' => '',
       'ptscriptdir' => '',
       'feeds' => array(
                  'name' => 'Test Feed 1', 
                  'url' => 'http://www.test.com/feed.xml'
                 ),
        'db_version' => $wp_plugin_dbversion
        );

с текущей настройкой параметров, мне нужен был способ заполнить параметры ['feed'];с более чем одним набором значений, только сейчас он получил имя теста и настройку URL, но я ищу более динамичный способ хранения списка каналов, я хочу иметь возможность добавлять столько каналов, сколько необходимо, изнутри области администратора.

что-то в этом роде ..

$wp_options = array(
       'ptinstalldir' => '',
       'ptscriptdir' => '',
       'feeds' => array('feed1' => array(
                                     'name' => 'Test Feed 1', 
                                     'url' => 'http://www.test.com/feed.xml'
                        ),
                        'feed2' => array(
                                     'name' => 'Test Feed 1', 
                                     'url' => 'http://www.test.com/feed.xml'
                        ),
        'db_version' => $wp_plugin_version
        );

Я думал о создании новой таблицы для каналов в базе данных, но я знаю, что WordPress может это сделать, это просто заставляет задуматьсяэто, когда дело доходит до сохранения и добавления любых новых опций, любые советы приветствуются

1 Ответ

0 голосов
/ 04 ноября 2010

Используйте array_push, чтобы добавить дополнительные параметры в существующий массив.

$feed = array('name' => 'Feed 1', 'url' => 'whatever.com');
$wp_options = array_push($wp_options['feeds'], "$feed");
print_r($wp_options);

Это то, что вы ищете?

...