2010-08-24 2 views
1

Я использую API-интерфейс Wordpress для создания страницы параметров для плагина, который обрабатывает изображения и ссылки. Я могу зарегистрировать 3 вызова add_settings_field и добавить 3 изображения и ссылки на сайт. Кто-нибудь знает способ динамически позволить пользователю добавлять новое поле (add_settings_field) на лету. Например, если это началось с 1 поля, но им понадобилась секунда для другого изображения.API-интерфейс Wordpress

ответ

0

Вы можете добавить кнопку и обработать страницу администратора (последний параметр для add_options_page, например), обрабатывать параметры GET, чтобы он вызывал add_settings_field, может быть?

0

Для выполнения следующих действий необходимо иметь одно добавление_дополнения для данных. Элементы формы html в функции обратного вызова поля add_settings_ должны быть массивом.

Пример:

<input type="text" name="field[0]" id="textfield_0" /> 
<input type="text" name="field[1]" id="textfield_1" /> 

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

Затем вы используете, например, jQuery или JavaScript и кнопку, чтобы добавить дополнительные поля на страницу параметров.

Дополнительные поля также будут массивом, и нумерация начинается там, где закончились предыдущие поля формы. Глядя на предыдущем коде Snipper вы бы начать:

<input type="text" name="field[2]" id="textfield_2" /> 
<input type="text" name="field[3]" id="textfield_3" /> 

Если вы кладете вещи вместе отлично вашу основную форму с й количеством полой формы создаются в функции обратного вызова add_settings_field. Дополнительные поля добавляются с помощью jQuery или Ajax.

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

Вы можете сделать это, отправив атрибут с сохраненными значениями в поле add_settings_field. Посмотрите, как я решил это для себя на Wordpress settings API and serialising data

Смежные вопросы