Проверка нескольких вариантов страниц для плагина

Я пишу плагин, и я решил иметь несколько страниц для разных вариантов плагина (для большей ясности). Выполнение одного варианта – кусок пирога, но я сталкиваюсь с трудностями при наличии нескольких страниц.

Все мои параметры находятся в массиве, зарегистрированном как:

register_setting( 'plugin_options', 'options', 'validator' ); 

Как я сказал, иметь только одну страницу было легко. Создайте форму, отправьте форму и бума, параметры сохранены. Теперь, когда у меня есть несколько страниц, кажется, что WordPress полностью заменяет массив параметров, независимо от того, что могут быть некоторые другие значения, которые я не хочу трогать. Я попробовал несколько вариантов, а затем искал Google, чтобы наконец найти эти решения на веб-сайте Отто :

 function plugin_options_validate($input) { $options = get_option('plugin_options'); $options['text_string'] = trim($input['text_string']); if(!preg_match('/^[a-z0-9]{32}$/i', $options['text_string'])) { $options['text_string'] = ''; } return $options; } 

Кажется, это тоже не сработает, и я не совсем уверен, почему.

Мой фактический ход, хотя для решения:

  1. Получить фактические параметры;
  2. Запустите привязку foreach для изменения значений, если я найду одинаковые ключи в параметрах и массиве ввода;
  3. Верните значения и вуаля!

Но я ударяю о стену. У меня есть много опций, которые устанавливаются с помощью флажков, и когда я сниму флажки, форма не представит имя этого флажка, поэтому я не могу правильно пройти через свой массив.

Я предполагаю, что я прошу … КАК я могу сделать обратный вызов register_settings, который будет принимать любые параметры любого типа (ввод, флажок и т. Д.) И не будет уничтожать значения, уже сохраненные в массиве, которые не являются затронутых вариантами, которые я сохраняю в тот момент.

Любая помощь в этом? Благодаря !

Solutions Collecting From Web of "Проверка нескольких вариантов страниц для плагина"

Хорошо, после долгого поиска, я обнаружил, что «легким» решением моей проблемы было бы начать с создания вкладок (например, в меню появления) и разделов опций. Хотя я по-прежнему не эксперт в этом вопросе, я следовал этому 3-му руководству, которое объясняет почти все, что связано с этим вопросом. Мне просто пришлось приспособиться к плагину, так как он написал руководство, в котором есть темы!

Спасибо всем, кто потратил время на чтение!