Codex tools: Log in / create account
Languages: English • 日本語 • Русский • (Add your language)
Contents |
Создавать собственные панели настроек в WordPress относительно легко.
Для начала, чтобы создать элемент меню и новую страницу, посмотрите статью «Добавление административных меню».
Если придерживаться этой структуры, WordPress сам позаботится о создании настроек, обновлении, сохранении и перенаправлении. Он также проверит права доступа и сделает остальную закулисную магию.
Когда у вас появилась страница, нужно создать HTML-форму. Используйте этот код:
<form method="post" action="options.php">
После открытия тега формы вставьте следующий PHP-код:
<?php wp_nonce_field('update-options'); ?>
Он добавит два скрытых поля, прозволяющих автоматически проверять, что пользователь может обновлять настройки, и перенаправлять его обратно на нужную страницу (поскольку форма отсылает результат на другую страницу).
Теперь вы, возможно, захотите вставить стандартную кнопку «Обновить настройки», HTML-код которой выглядит так:
<p class="submit">
<input type="submit" name="Submit" value="<?php _e('Save Changes') ?>" />
</p>
Обратите внимание на использование функции _e() для перевода текста. Подробности — в статье «Локализация WordPress».
Используйте поля с теми же названиями, какие вы хотите дать создаваемым настройкам (которые будут храниться в таблице options), например:
<input type="text" name="new_option_name" value="<?php echo get_option('new_option_name'); ?>" />
Обратите внимание, что благодаря использованию функции get_option() в качестве значения поля, оно автоматически обновится, когда настройку будут сохранены.
Теперь создайте скрытое поле под названием «action» со значением «update».
<input type="hidden" name="action" value="update" />
В заключение, создайте скрытое поле под названием «page_options», содержащее разделённый запятыми список всех настроек, которые нужно записать при сохранении.
<input type="hidden" name="page_options" value="new_option_name,some_other_option,option_etc" />
Затем, очевидно, следует закрыть тег формы. Если хотите, можно добавить ещё одну кнопку «Обновить настройки» — в WordPress так принято.
<p class="submit">
<input type="submit" name="Submit" value="<?php _e('Save Changes') ?>" />
</p>
</form>