Intereting Posts
Пытается отображать только 1 категорию, используя get_posts Повторно обрабатывать изображения Как предотвратить перезапись домашней страницы по умолчанию на статическую страницу Вопросы по сортировке переднего края Обновить значение константы Пользовательские значения полей, повторяющиеся Должен ли я удалять переходные процессы из таблицы wp_options? Добавить настраивать сообщения для редактирования ссылок на выборочно обновленные частичные Пользовательский тип иерархии столбцов в главной странице Оптимальная оценка приоритетов конечной точки RPC? Показать другую тему для администратора? Какому настраиваемому типу сообщений принадлежит текущая должность? Скрипты для короткого кода: конкатенация или загрузка отдельно? Запустите W3 Total Cache Flush Function с помощью Crontab есть ли способ получить все сценарии / стили в очереди в шаблон без `get_header ()`?

Как добавить параметры на страницу плагина?

Я не могу найти более или менее ясный пример того, как создавать дополнительные поля, может быть, кто-то может мне помочь здесь? Вот мой код:

function __construct(){ add_action('admin_init', array($this, 'plugin_admin_init')); } public function create_fields(){ register_setting('dleToWp_options', 'database_name'); register_setting('dleToWp_options', 'database_prefix'); register_setting('dleToWp_options', 'version'); //Stuck here // add_settings_section('dleToWp_options', __('Settings', 'dleToWp'), NULL, 'dleToWp'); // add_settings_field('plugin_text_string', 'Plugin Text Input', 'plugin_setting_string', 'plugin', 'dleToWp'); } public function settings_page(){ echo '<div class="wrap"> <div class="icon32" id="icon-tools"></div> <h2>'.__('Database converter', 'dleToWp').'</h2> <form action="options.php" method="post">'; settings_fields('dleToWp_options'); do_settings_sections('dleToWp'); echo '</form></div>'; } 

У меня есть 3 поля: имя базы данных, префикс базы данных и поле выбора версий.

Solutions Collecting From Web of "Как добавить параметры на страницу плагина?"

Есть много вещей, которые вы должны понимать в настройках API . Вместо дублирования информации я настоятельно рекомендую вам прочитать кучу статей под названием «Полное руководство к API-интерфейсу WordPress» , особенно обратите внимание на вторую часть под названием « Разделы, поля и настройки» . Не стесняйтесь применять примеры в статьях, это поможет вам лучше понять и запомнить.

Довольно близко – но в вашей функции settings_page вам нужно добавить элементы формы html для каждого поля после вызова параметров_поле. И удалите строку «do_settings_sections». И кнопка отправки также является хорошим дополнением.

Вот пример, который добавляет одно из ваших полей:

 ?> <table width="100%"> <tr> <td> <label for="database_name" />Database Name</label> <input type="text" id ="database_name" size="50" name="database_name" value="<? echo get_option('database_name')?>" /> </td> </tr> </table> <p class="submit"> <input type="submit" class="button-primary" value="Save Changes" /> </p> <?php 

— ОБНОВЛЕНО —

Вместо того, чтобы создавать форму, как описано, вместо этого также можно использовать вызовы add_settings_sections и add_settings_fields. Вот как это работает:

 public function settings_page(){ echo '<div class="wrap"> <div class="icon32" id="icon-tools"></div> <h2>'.__('Database converter', 'dleToWp').'</h2> <form action="options.php" method="post">'; settings_fields('dleToWp_options'); do_settings_sections('dleToWp'); <p class="submit"><input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" /></p> echo '</form></div>'; } 

Это довольно близко к коду, который вы предоставили в начале, за исключением того, что теперь добавлена ​​кнопка отправки.

В вашей функции create_fields вам также необходимо будет определить параметры и поля:

 add_settings_section('dleToWp_options', 'Plugin Options', 'dleToWp_options_callback', 'dleToWp'); add_settings_field('dltToWp_database_name', 'Database Name', 'dleToWp_database_name_callback', 'dleToWp', 'dleToWp_options'); 

Обратите внимание, что каждый вызов указывает раздел настроек и поле add_settings_field должно указывать на раздел.

Наконец, вы должны создать обратные вызовы для раздела и для поля:

 function dleToWp_options_callback() { echo "<p>Description of this Section</p>" } function dleToWp_database_name_callback() { echo "<input type='text' id='database_name' size='50' name='database_name' value='".get_option('database_name')."' />"; } 

Вы все равно должны предоставить html для элементов формы. И вы также должны добавить свою кнопку отправки html.

Весь этот код не работает, поэтому не гарантируйте, что он работает. Но это должно дать вам представление о том, как использовать функции add_settings * и как структурировать обратные вызовы.